4 回答

TA貢獻1752條經驗 獲得超4個贊
我們可以看到每只股票都以 分隔, 。但由于, “,Inc.”也使用相同的字符。,我們需要用 分隔股票名稱), 。
讓我們使用 Python 的內置函數來分割文本split()。我們從文本中獲取字符串列表。像這樣:
text = "Alexandria Real Estate Equities, Inc. (ARE), Beyond Meat, Inc. (BYND), Brown & Brown, Inc. (BRO), Canon Inc. (CAJ), Chegg, Inc. (CHGG), Cincinnati Financial Co. (CINF), Ecopetrol SA (EC), Hasbro, Inc. (HAS), HCA Healthcare, Inc. (HCA), HSBC Holdings plc (HSBC), NXP Semiconductors (NXPI), Otis Worldwide (OTIS), Packaging Co. of America (PKG), Petróleo Brasileiro S.A. - Petrobras (PBR), Principal Financial Group Inc (PFG), Principal Financial Group, Inc. (PFG), SAP SE (SAP), Twilio Inc (TWLO)"
split_text = text.split("), ")
輸出:
['Alexandria Real Estate Equities, Inc. (ARE', 'Beyond Meat, Inc. (BYND', 'Brown & Brown, Inc. (BRO', 'Canon Inc. (CAJ', 'Chegg, Inc. (CHGG', 'Cincinnati Financial Co. (CINF', 'Ecopetrol SA (EC', 'Hasbro, Inc. (HAS', 'HCA Healthcare, Inc. (HCA', 'HSBC Holdings plc (HSBC', 'NXP Semiconductors (NXPI', 'Otis Worldwide (OTIS', 'Packaging Co. of America (PKG', 'Petróleo Brasileiro S.A. - Petrobras (PBR', 'Principal Financial Group Inc (PFG', 'Principal Financial Group, Inc. (PFG', 'SAP SE (SAP', 'Twilio Inc (TWLO)']
讓我們)在末尾添加丟失的字符。
要獲取每只股票的指數,請enumerate()在循環中使用該函數。
最終代碼:
split_text = text.split("), ")
for idx, stock_name in enumerate(split_text):
print(f"[{idx+1}] {stock_name})")
輸出:
[1] Alexandria Real Estate Equities, Inc. (ARE)
[2] Beyond Meat, Inc. (BYND)
[3] Brown & Brown, Inc. (BRO)
[4] Canon Inc. (CAJ)
[5] Chegg, Inc. (CHGG)
[6] Cincinnati Financial Co. (CINF)
[7] Ecopetrol SA (EC)
[8] Hasbro, Inc. (HAS)
[9] HCA Healthcare, Inc. (HCA)
[10] HSBC Holdings plc (HSBC)
[11] NXP Semiconductors (NXPI)
[12] Otis Worldwide (OTIS)
[13] Packaging Co. of America (PKG)
[14] Petróleo Brasileiro S.A. - Petrobras (PBR)
[15] Principal Financial Group Inc (PFG)
[16] Principal Financial Group, Inc. (PFG)
[17] SAP SE (SAP)
[18] Twilio Inc (TWLO)

TA貢獻1780條經驗 獲得超5個贊
我會這樣去..
import re
stocks = re.split(r'(?<=\)),\s', stocks_string.replace('\n','')
for index, stock in enumerate(stocks):
print(f'[{index+1}] {stock}'
我使用正則表達式 split 來保留股票名稱末尾的右括號。(?<=) 稱為“向后查找”,并且僅當右括號位于逗號之前時,整個正則表達式才會匹配逗號。

TA貢獻1898條經驗 獲得超8個贊
如果文本文件始終采用這種格式:“此處為全名(短)”,那么我們可以使用簡單的 python 拆分,因為我們知道每個術語之間總是有一個“),”。此拆分將返回您要查找的所有值的數組。

TA貢獻1712條經驗 獲得超3個贊
為了給它你需要的格式,我會這樣做:
res = [f"[{index+1}] {i})".replace(", ","").replace("\n","") for index, i in enumerate(text.split(")"))]
res.pop()
output = "".join([f"{i}\n" for i in res])
print(output)
打印出來
[1] Alexandria Real Estate EquitiesInc. (ARE)
[2] Beyond MeatInc. (BYND)
[3] Brown & BrownInc. (BRO)
[4] Canon Inc. (CAJ)
[5] CheggInc. (CHGG)
[6] Cincinnati Financial Co. (CINF)
[7] Ecopetrol SA (EC)
[8] HasbroInc. (HAS)
[9] HCA HealthcareInc. (HCA)
[10] HSBC Holdings plc (HSBC)
[11] NXP Semiconductors (NXPI)
[12] Otis Worldwide (OTIS)
[13] Packaging Co. of America (PKG)
[14] Petróleo Brasileiro S.A. - Petrobras (PBR)
[15] Principal Financial Group Inc (PFG)
[16] Principal Financial GroupInc. (PFG)
[17] SAP SE (SAP)
[18] Twilio Inc (TWLO)
添加回答
舉報