我有一個文件中的follwing字符串:如何在python中打印特定的字符串?
736.199070736: LOG_MOD_L0_RECEIVE_TXBRP_CONTROL(0,
0x0075007f,
0x005500dd,
0x000a00f5)
這些我想從取數據「(」到「)」,使之成爲一條線。
輸出應該是一個單一的一行:
(0, 0x0075007f, 0x005500dd, 0x000a00f5)
我有一個文件中的follwing字符串:如何在python中打印特定的字符串?
736.199070736: LOG_MOD_L0_RECEIVE_TXBRP_CONTROL(0,
0x0075007f,
0x005500dd,
0x000a00f5)
這些我想從取數據「(」到「)」,使之成爲一條線。
輸出應該是一個單一的一行:
(0, 0x0075007f, 0x005500dd, 0x000a00f5)
你可以使用正則表達式:
import re
string = """736.199070736: LOG_MOD_L0_RECEIVE_TXBRP_CONTROL(0,
0x0075007f,
0x005500dd,
0x000a00f5)"""
result = re.search(r'\(.*\)', string) # matches anything between parenthesis
result.group()
'(0, 0x0075007f, 0x005500dd, 0x000a00f5)'
這使你的數據作爲一個字符串。
其實這不是一個字符串。考慮這個數據在一個文件中(我的意思是逐行)。並且從「(」到「)」加入到一行中。 – user3082400
它介於引號之間,它絕對是一個字符串。在你的文章開頭,你說,「我在文件中有下面的字符串」。也許你不想要一個字符串,但這就是我的代碼返回 – Totem
如果你想成爲一個單行:
''.join(''.join(text.splitlines()).partition('(')[1:])
演示:
>>> text = '''\
... 736.199070736: LOG_MOD_L0_RECEIVE_TXBRP_CONTROL(0,
... 0x0075007f,
... 0x005500dd,
... 0x000a00f5)
... '''
>>> ''.join(''.join(text.splitlines()).partition('(')[1:])
'(0, 0x0075007f, 0x005500dd, 0x000a00f5)'
獎金功能:如果你通過這到ast.literal_eval()
你得到一個Python結構,而不是整數:
>>> from ast import literal_eval
>>> literal_eval(''.join(''.join(text.splitlines()).partition('(')[1:]))
(0, 7667839, 5570781, 655605)
始終在'code'和文本之間添加一行以使格式化工作。 – jwarner112
向我們展示代碼,您嘗試去做。 – greg