我试图从具有此结构的文件中提取数据
//Side Menu market: 'Market', store: 'Store', stores: 'Stores', myNotes: 'My Notes', logout: 'Logout', //Toast activeUserHasChanged: 'Resetting app - the active user has changed.', loginHasExpired: 'Your login has expired.', appIsReseting: 'The app is resetting.',
我想要的是提取单引号之间的所有文本并将其放入一个新文件中,我认为Python可能是一个不错的选择,但我是编程和Python的新手,我尝试过但没有运气和对于我所读过的内容,它不应该是一个小脚本。
我的预期输出是:
Market, Store, Stores, My Notes, Logout, Resetting app - the active user has changed, Your login has expired, The app is resetting,
所以对此的任何帮助都将受到赞赏。
问候。
答案 0 :(得分:2)
一个简单的解决方案就像:
in_string = False
with open('infile.txt','r') as fr, open('outfile.txt','w') as fw:
for char in fr.read():
if char == "'":
in_string = in_string != True # XOR
elif in_string:
fw.write(char)
直觉是我们逐个字符地阅读文件并跟踪我们在此过程中看到的任何'
。当我们遇到第一个时,我们将下一个字符写入输出文件,直到我们遇到第二个等等。
它不处理无效输入,也不做缓冲或任何花哨的事情。但是如果你只有一些格式良好的小文件,那就应该这样做。 它也没有用逗号分隔你的输出格式,但是这不应该太难做到。
答案 1 :(得分:1)
假设您已输入文本文件
import re
fid = open('your input file','rb')
output = open('output file','wb')
for i in fid:
m = re.match(r"['\"](.*?)['\"]",i)
if m is not None:
output.write(m.group(1)+'\r\n')
fid.close()
output.close()
R"' \" [' \"]"这个正则表达式将让你在单引号之间找到任何东西。如果找不到任何内容,请跳过希望这有用。