获取特定字符python之后的所有字符串

时间:2018-11-19 16:03:18

标签: python list slice

获取字符串'$'之后的字符串,并将其作为小写字符串存储在列表中。 例如:

string = "apple $is a $tasty fruiit and $CHEAP"
['is', 'tasty', 'cheap']

我尝试过

string.lower()
lst  = []
lst.append(string.lower().split("$",1)[1:])
return lst

编辑 还应在数字或特殊字符(如 字符串=“苹果$是美味的水果和$ CHEAP#chs” ['是','美味','便宜'] 不应该便宜的地方 有人可以帮忙吗?

4 个答案:

答案 0 :(得分:0)

使用正则表达式:

import re

s = "apple $is a $tasty fruiit and $CHEAP"

re.findall(r'(?<=\$)(.+?)\b', s.lower()))

收益:

['is', 'tasty', 'cheap']

答案 1 :(得分:0)

string.lower()返回一个新的小写字符串,并且对原始字符串不做任何事情。一种可行的方法是用空格分隔字符串,并检查单词startswith“ $”:

string = "apple $is a $tasty fruiit and $CHEAP"
result = [s[1:] for s in string.lower().split() if s.startswith('$')]

print(result)
# ['is', 'tatsy', 'cheap']

答案 2 :(得分:0)

s1='apple $is a $tasty fruiit and $CHEAP'
lst=s1.split()
sample=[]
for i in lst:
    if '$' in i:
        sample.append(i[1:].lower())
print(sample)

此人将op设为['is', 'tasty', 'cheap']。正则表达式很简单。

答案 3 :(得分:0)

您可以使用count()方法,如下所示:

starting_point = 0
Lst = []
for _ in range(string.count('$')):
    starting_point += string[starting_point+1:].index('$')+1
    Lst.append(string[starting_point:].split()[0].split('$')[1].lower())

,输出将是:

['is', 'tasty', 'cheap']