簡體   English   中英

從具有相同結構的字符串中分離不同的名稱

[英]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,例如:

  • 當前 1
  • 斷裂扭矩
  • 壓力

有誰知道怎么做?

通常我會發布一個最小的例子,但我不知道解決這個問題。 例如,我發現了一些可以提取一組的東西:

>>> 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM