嘗試在逗號和句點處拆分隨機生成的字母、逗號、句點和空格字串,但我只知道如何使用以下代碼在逗號處拆分它:
import re
with open('book.txt', 'r') as file_object:
for line in file_object:
word_list = list(ast.literal_eval(re.subn(r'(\w )', r"'\1'", file_object.readline())[0]))
示例字串s,wgzggarhz hbmk.q.af mnttxvixkcxwheysijneupvkcmmnar.mhvsflinmk,dvoxuce,vb,f.cfb
最終目標是將其拆分為一個串列,例如['s', 'wgzggarhz hbmk', 'q', 'af mnttxvixkcxwheysijneupvkcmmnar', 'mhvflinmk', 'dvoxuce', 'vb', 'f', 'cfb']
我是使用 RegEx 的新手,所以我不知道是否有更好的方法來格式化它,但這是它回傳的錯誤。
Traceback (most recent call last):
File "main.py", line 32, in <module>
word_list = list(ast.literal_eval(re.subn(r'(\w )', r"'\1'", file_object.readline())[0]))
File "/nix/store/2vm88xw7513h9pyjyafw32cps51b0ia1-python3-3.8.12/lib/python3.8/ast.py", line 59, in literal_eval
node_or_string = parse(node_or_string, mode='eval')
File "/nix/store/2vm88xw7513h9pyjyafw32cps51b0ia1-python3-3.8.12/lib/python3.8/ast.py", line 47, in parse
return compile(source, filename, mode, flags,
File "<unknown>", line 1
'bazmhffkibauiaexggdoqrvxzkjhqzwammyizcybqba'.'qkmhwbvm' 'cdioyazkwbg' .'bdrsujlrkfxaen'
^
SyntaxError: invalid syntax
使用 Replit for IDE
uj5u.com熱心網友回復:
將單詞用引號括起來,然后再次評估它們是多余的。
你可以使用.split():
with open('book.txt', 'r') as file_object:
for line in file_object:
word_list = re.split(r'\s*[,.]\s*', line)
print(word_list)
uj5u.com熱心網友回復:
您可以保持簡單并用逗號替換所有句點(反之亦然),然后使用該.split()方法獲取所需的字串串列。
with open('book.txt', 'r') as file_object:
for line in file_object:
word_list = line.replace('.', ',').split(',')
print(word_list)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/510277.html
上一篇:Python字串切片
