python 从字符串中找出以$开头并以一个dict里面任意一个字符结尾的子串

例如:string = ‘$a=$b+$c+$abc’
应该怎么写才能比较高效呢?
我想到的是把$的位置找出来(index),然后再一个个的找,不知道大神们有没有更好的方法

将字典转成正则表达式。然后用re.search,每找一次,就将字符串的起始位置移动
d={'a':None,'b':None,'c':None,'abc':None}
expl=[]
for k in d: expl.append(k)
expl.append(")
exp=re.compile("(?:isu)\$(?:"+(("|").join(expl))+")")
s= ‘$a=$b+$c+$abc’
p=0
while p<len(s):
m=exp.search(s[p:])
if not m:break
print p+m.start()
p+=m.end()
没有验证过,你自己试一下看成不成。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-01
毫无疑问正则是王道,自己试着写一个正则表达式

python 从字符串中找出以$开头并以一个dict里面任意一个字符结尾的子串...
将字典转成正则表达式。然后用re.search,每找一次,就将字符串的起始位置移动 d={'a':None,'b':None,'c':None,'abc':None} expl=[]for k in d: expl.append(k)expl.append(")exp=re.compile("(?:isu)\\$(?:"+(("|").join(expl))+")")s= ‘$a=$b+$c+$abc’p=0 while...

python找出字符串中字母出现的次数,有重复时的情况
if x not in d.keys():d[x]=1 else:d[x]=d[x]+1 print(d)(2)d2=dict()for x in s:d2[x]=d2.get(x,0)+1 print(d2)(3)d3=dict()for x in s:d3[x]=s.count(x)print(d3)

python找出有多少数字和字母?
如果字符串中的所有字符都是字母或数字且至少有一个字符,则返回?True?,否则返回?False?。如果?c.isalpha()?,?c.isdecimal()?,?c.isdigit()?,或?c.isnumeric()?之中有一个返回?True?,则字符``c``是字母或数字。str.isalpha()如果字符串中的所有字符都是字母,并且至少有一个字符,返回...

Python 必知的 20 个骚操作!
使用 `split()` 方法将字符串拆分成多个子串,或根据指定分隔符进行拆分。代码示例:python string_1 = "My name is Chaitanya Baweja"print(string_1.split())string_2 = "sample\/ string 2"print(string_2.split('\/'))字符串拼接 使用 `join()` 方法将字符串列表组合成一个字符串。代码示...

python中的数据类型有哪些
complex(real [,imag]) 创建一个复数 str(x) 将对象x转换为字符串 repr(x) 将对象x转换为表达式字符串 eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(s) 将序列s转换为一个元组 list(s) 将序列s转换为一个列表 chr(x) 将一个整数转换为一个字符 unichr(x) 将一个整数转换为...

python3判断字符串中有多少个字母(python判断字符串的字母个数)
other += 1 print('字母:{} 数字:{} 其他:{}'.format(letter,digital,other))输出:字母:16 数字:4 其他:4 下面是Python内置关于判断字符串类型的方法介绍:str.isalnum()如果字符串中的所有字符都是字母或数字且至少有一个字符,则返回?True?, 否则返回?False?。 如果?c.isalpha()?,?c....

详解python 中in 的 用法,看完还不会!你还是从入门到放弃吧!
python dict_example = {"apple": 1, "banana": 2, "cherry": 3} print("banana" in dict_example)输出结果为`True`,因为键"banana"存在于字典中。总结 总之,in操作符在Python中是一个非常实用的工具,用于在多种数据结构中进行成员判断。无论是在字符串、列表、元组、集合还是字典中,它都...

python统计有多少个字符(python统计每个字符的个数)
other+=1 print('字母:{}数字:{}其他:{}'.format(letter,digital,other))输出:字母:16数字:4其他:4 下面是Python内置关于判断字符串类型的方法介绍:str.isalnum()如果字符串中的所有字符都是字母或数字且至少有一个字符,则返回?True?,否则返回?False?。如果?c.isalpha()?,?c.isdecimal()?

python有多少字符串(2023年最新分享)
Python当中对字符串的限制比较松,双引号和单引号都可以表示字符串,看个人喜好使用单引号或者是双引号。我个人比较喜欢单引号,因为写起来方便。 字符串也支持+操作,表示两个字符串相连。除此之外,我们把两个字符串写在一起,即使没有+,Python也会为我们拼接: 我们可以使用[]来查找字符串当中某个位置的字符,用len来...

python中常用的函数有多少个(python中有哪些函数)
deffunctionname(parameters):?"函数_文档字符串" ?function_suite ?return[expression] 默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。 实例 以下为一个简单的Python函数,它将一个字符串作为传入参数,再打印到标准显示设备上。 实例(Python2.0+) defprintme(str):?"打印传入的字符串到标准显示...

相似回答