Python中从字符串中提取子字符串
我有一个字符串如下所示:Python中从字符串中提取子字符串,python,string,substring,Python,String,Substring,我有一个字符串如下所示: catString = randomtextrandomtext (cats:1)=1 randomtext randomtextrandomtext (cats:3)=3 randomtext randomtext (cats:1540)=1,540 randomtextrandomtext randomtext (cats:85):85 randomtext (cats:1)(cats:3)(cats:1540)(cats:85) 我想打印一个如下所示的字符串:
catString = randomtextrandomtext (cats:1)=1 randomtext randomtextrandomtext (cats:3)=3 randomtext randomtext (cats:1540)=1,540 randomtextrandomtext randomtext (cats:85):85 randomtext
(cats:1)(cats:3)(cats:1540)(cats:85)
我想打印一个如下所示的字符串:
catString = randomtextrandomtext (cats:1)=1 randomtext randomtextrandomtext (cats:3)=3 randomtext randomtext (cats:1540)=1,540 randomtextrandomtext randomtext (cats:85):85 randomtext
(cats:1)(cats:3)(cats:1540)(cats:85)
我试着做:
catCount = ''
for a in catString:
for b in line.split():
if '(cats:' in b:
catCount += str(part)
print catCount
但是,该代码打印出来:
(cats:1)=1(cats:3)=3(cats:1540)=1,540(cats:85)=85
我怎样才能达到我想要的结果呢?试试这个
catCount = ''
for a in catString:
for b in line.split():
if '(cats:' in b:
catCount += str(b[0,b.index(")")+1])
print catCount
试试这个
catCount = ''
for a in catString:
for b in line.split():
if '(cats:' in b:
catCount += str(b[0,b.index(")")+1])
print catCount
使用
str.index
,尤其是start参数
catString = "randomtextrandomtext (cats:1)=1 randomtext randomtextrandomtext (cats:3)=3 randomtext randomtext (cats:1540)=1,540 randomtextrandomtext randomtext (cats:85):85 randomtext"
result = ''
end = -1
try:
while True:
start = catString.index('(cats:', end+1)
end = catString.index(')', start)
result += catString[start:end+1]
except ValueError:
pass
print(result)
使用
str.index
,尤其是start参数
catString = "randomtextrandomtext (cats:1)=1 randomtext randomtextrandomtext (cats:3)=3 randomtext randomtext (cats:1540)=1,540 randomtextrandomtext randomtext (cats:85):85 randomtext"
result = ''
end = -1
try:
while True:
start = catString.index('(cats:', end+1)
end = catString.index(')', start)
result += catString[start:end+1]
except ValueError:
pass
print(result)