python搜索以字母开头的字符串

时间:2018-03-10 16:11:01

标签: python mysql

data = cursor.fetchone ( )
while data is not None:
    data = str(data)
    print(data)
    data.split(",")
    for index in data:
        if index.startswith("K"):
            print(index, end=';')
    data = cursor.fetchone()

这是我的代码的相关部分。数据是从mysql服务器检索的,是由逗号分隔的长字符串。我可以用逗号分割字符串,但是,我需要搜索4个字母的字符串。我知道他们从K开始,但是当我运行程序时它只会打印K.如何让它打印整个字符串。
样本数据:
“N54,W130,KRET,KMPI,COFFEE”
预期产量:
“N54,W130,KRET,KMPI,COFFEE”
“KRET; KMPI;”

2 个答案:

答案 0 :(得分:2)

您的行data.split(",")不执行任何操作,因为您需要指定该值。你还说你想只打印K?如果是这样,您只想打印字符串的第一个字符d[0]

data = cursor.fetchone ( )
while data is not None:
    data = str(data)
    print(data)
    data = data.split(",")
    for d in data:
        if d.startswith("K"):
             print(d, end=';')
    data = cursor.fetchone()

编辑:根据你的编辑,似乎你想要打印整个字符串,所以我更新了它

答案 1 :(得分:0)

如果您正在寻找以" K"开头的4个字母字符串,那么使用正则表达式怎么样?

import re

regex = r"K[a-zA-Z0-9]{3}"

test_str="N54,W130,KRET,KMPI,COFFEE"

matches = re.finditer(regex,test_str)

output=""
for matchNum, match in enumerate(matches):
    output+=match.group()+";"

print(output)

输出为:KRET; KMPI;