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;”
答案 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;