[英]isolating different names from a string with the same structure
在我的程序中,我得到以下返回組名的字符串:
[<TdmsGroup with path /'Current 1'>, <TdmsGroup with path /'Break Torque'>]
有時甚至更多組名:
[<TdmsGroup with path /'Current 1'>, <TdmsGroup with path /'Break Torque'>], <TdmsGroup with path /'Pressure'>]
所以我有所有組的名稱,但它們用逗號分隔並嵌套在文本中。
如何從引號之間的字符串中獲取所有單詞?
我想將上述字符串中的以下組名寫入 dataframe,例如:
有誰知道怎么做?
通常我會發布一個最小的例子,但我不知道解決這個問題。 例如,我發現了一些可以提取一組的東西:
>>> s = 'lalalala1234lulululu'
>>> start = s.find('lalalala1') + 3
>>> end = s.find('lulululu', start)
>>> s[start:end]
但問題是,我在字符串中有一個以上的組,所以我還必須將它們彼此分開。
您可以使用正則表達式來提取'
之間存在的文本。
import re
a = ["<TdmsGroup with path /'Current 1'>", "<TdmsGroup with path /'Break Torque'>", "<TdmsGroup with path /'Pressure'>"]
regex = re.compile(r"(?<=')[^']+(?=')")
output = []
for i in a:
output.extend(regex.findall(i))
print(output)
Output:
['Current 1', 'Break Torque', 'Pressure']
謝謝你的回答,我試過了,但我得到了以下 output:
['Current 1', '>, <TdmsGroup with path /', 'Break Torque']
我認為原因是,因為您的字符串看起來像:
"<TdmsGroup with path /'Current 1'>", "<TdmsGroup with path /'Break Torque'>", "<TdmsGroup with path /'Pressure'>"
我的一個喜歡:
[<TdmsGroup with path /'Current 1'>, <TdmsGroup with path /'Break Torque'>]
所以,逗號之間的部分沒有用“”分隔
如上所示,整個字符串都是原始的
我也不完全理解代碼,所以代碼如何准確地識別這些部分。 你能解釋一下嗎? 仍然ungfähr。 特別是以下部分:
regex = re.compile(r"(?<=')[^']+(?=')")
在字符之間,我再也找不到在我的字符串中找到的字符,那么這條線到底是做什么的?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.