2012-02-15 76 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