如何在python中搜索子字符串?

问题描述 投票:0回答:1

我想搜索文本文件并输出与用户输入匹配的子字符串,但是当我的程序搜索每一行时,我希望它仅搜索“ |”之间的字符。字符和行尾。但我一直收到以下错误:

Enter city name or partial city name: Wax
Traceback (most recent call last):
  File "Program0.py", line 16, in <module>
    main()
  File "Program0.py", line 10, in main
    y = line[char_pos, x]
TypeError: string indices must be integers, not tuple

代码

def main():
    user_input = raw_input("Enter city name or partial city name: ")
    name_city_files = open("personnel_addresses.txt", "r")
    data_file = open("data.txt", "w")
    name_city_contents = name_city_files.readlines()
    name_city_files.close()
    for i, line in enumerate(name_city_contents):
        char_pos = line.find("|")
        x = len(line)
        y = line[char_pos, x]
        if user_input in y:
            for l in name_city_contents[i]:
                data_file = open("data.txt", "a")
                data_file.write(l)

main()

文本文件(部分):

Japheth Edwards|Albany
Evan Taylor|Wax
Olivia Grimme|Wax
python file find
1个回答
0
投票

您应该使用切片。只需在代码中将,替换为:

y = line[char_pos:x]
© www.soinside.com 2019 - 2024. All rights reserved.