2012-02-15 78 views
1

我与蟒蛇plugins.I工作有我变量= “T_0”,“调查”我想只有调查存储到另一个variable.Which函数的使用来获得survey from “t_0”。“survey”Python的查询(字符串)

我试图a=field.split(".")当我尝试打印一个,它给

<PyQt4.QtCore.QStringList object at 0x01247228> 

是否有任何删除功能或找到的位置“”从字符串..?

,如果我尝试lstrip()ljust(),它提供了错误说

AttributeError: 'QString' object has no attribute 'lstrip'.. 
+1

可能只是尝试= STR(场)B = a.split(”。 “) – JackalopeZero 2012-02-15 10:01:08

+0

thanx:)它的工作很好.... – poonam 2012-02-15 10:09:02

回答

3

如果aQString,然后调用a.split产生QStringList,只是作为一个Python str调用split产生list

>>> qstr = QString("t_0.survey") 
>>> slist = qstr.split(".") 
>>> slist 
<PyQt4.QtCore.QStringList object at 0x00BBCD88> 

您可以将QStringList转换为Python列表:

>>> list(slist) 
[PyQt4.QtCore.QString(u't_0'), PyQt4.QtCore.QString(u'survey')] 

或刚提取的第二个元素:

>>> slist[1] 
PyQt4.QtCore.QString(u'survey') 

也许摆脱QString包装的:

>>> unicode(slist[1]) 
u'survey' 
+0

ok ..................... – poonam 2012-02-15 10:24:49

0

好像“一”是不是一个真正的字符串,而是其他对象由PyQt的产生库(可能是一个输入字段?)。如果你能找到一种方法从这个字段(a.value(),a.text()或类似的东西)中获得一个真正的String,你应该可以使用split。

1

如果您的field变量的类型为QString以下代码对我来说工作正常。

QString str = "a,b,c";  
QStringList list1 = str.split(","); 

输出= [ "a","b", "c" ]

尝试在你的Python解释器做type(field)向我们展示了输出。

或类型投你的变量str这样a=str(field).split(".")

+0

它的工作原理:)....... – poonam 2012-02-15 10:09:26