我正在编写一个python脚本,它将提取文本文件中行的特定部分并打印出来。该行的部分始终位于两个特定字符之间。例如,我需要打印"Ghost: "
和"("
之间的所有内容。
我尝试导入re
并使用它在字符串中搜索字符,但是失败了。
文件看起来像这样:
Ghost: john.doe.1 {} ...
Ghost: john.walker.4 {} ...
Ghost: john.johnny.3 {} ...
Ghost: john.craig.6 {} ...
...
我期望这样的事情:
john.doe.1
john.walker.4
john.johnny.3
john.craig.6
答案 0 :(得分:1)
使用正则表达式,您可以执行以下操作:
re.search('((?:[a-z][a-z]+))(\\.)((?:[a-z][a-z]+))(\\.)(\\d+)', text).group()
输出:
john.doe.1
john.walker.4
john.johnny.3
john.craig.6
逻辑:
'((?:[a-z][a-z]+))' - looks for word (a-z)
'(\\.)' - looks for dot
'((?:[a-z][a-z]+))' - looks for word (a-z)
'(\\.)' - looks for dot
'(\\d+)' - looks for digit (0-9)
答案 1 :(得分:0)
在空白处分割字符串,然后打印第二个子字符串,即
print(string.split(' ')[1])
答案 2 :(得分:0)
您可以使用拆分方法并提取所需的信息
word="Ghost: john.doe.1 {} ..."
word=word.split(":")[1]
print(word.split()[0])
输出:
john.doe.1