簡體   English   中英

在兩個字符之間打印字符串

[英]Printing a string between two characters

我正在編寫一個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

使用正則表達式,您可以執行以下操作:

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)

在空白處分割字符串,然后打印第二個子字符串,即

print(string.split(' ')[1])

您可以使用拆分方法並提取所需的信息

word="Ghost: john.doe.1 {} ..."
word=word.split(":")[1]
print(word.split()[0])

OUTPUT:

john.doe.1 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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