从每个文本行获取一个子字符串

时间:2018-08-01 19:09:56

标签: python

我有一个带有以下几行的文本文件:

User Input: "Hello"...................<1sec> 
User Input: "Hi!".....................<2sec>
User Input: "How's it going"..........<1sec>

我只想要“”中的字符串

目前我正在使用

m= ""
for line in file:
     if "USER INPUT" in lines :
         m+=line[12:]

我不确定如何获得“”的位置,以确保它仅位于两个“”之间。

3 个答案:

答案 0 :(得分:5)

使用正则表达式。

例如:

import re
s = """User Input: "Hello"...................<1sec> 
User Input: "Hi!".....................<2sec>
User Input: "How's it going"..........<1sec>"""

for line in s.splitlines():
    if "User Input:" in line:
        m = re.search(r'\"(?P<data>.*?)\"', line)     #Get content between ""
        if m:
            print(m.group("data"))

输出:

Hello
Hi!
How's it going

答案 1 :(得分:1)

您可以分割02183101399205000 GBTD#VBYMBQ 04455927964 02183101409310000 XBQMPL#C##B 27699484827 54183101003651000 #WFG#SNVDG# 71530894204 字符上的行,以获取该字符任一侧的所有元素的列表。空闲示例:

"

答案 2 :(得分:1)

使用findall的另一种方法:

import re

s = """User Input: "Hello"...................<1sec> 
User Input: "Hi!".....................<2sec>
User Input: "How's it going"..........<1sec>"""

for line in s.splitlines():

  output = re.findall(r'"([^"]*)"', line)
  if output:
    print(output[0])

输出:

Hello
Hi!
How's it going