获取一个字符串,该字符串位于mem_id
符号之后,并且应在其他字符(没有数字和字符)之前结束。
例如:
'%'
它应该作为列表返回。
string = 'Hi %how are %YOU786$ex doing'
我尝试了
['how', 'you']
但是我不知道如何摆脱string = text.split()
sample = []
for i in string:
if '%' in i:
sample.append(i[1:index].lower())
return sample
。
编辑:我不想导入re
答案 0 :(得分:2)
您可以使用正则表达式。
>>> import re
>>>
>>> s = 'Hi %how are %YOU786$ex doing'
>>> re.findall('%([a-z]+)', s.lower())
>>> ['how', 'you']
答案 1 :(得分:1)
使用import re
re.findall(r'%([a-z]+)', string.lower())
最容易做到:
['how', 'you']
这将返回:
str.split()
或者您可以使用sample = []
for token in string.lower().split('%')[1:]:
word = ''
for char in token:
if char.isalpha():
word += char
else:
break
sample.append(word)
并遍历字符:
sample
['how', 'you']
将变为:
message.channel
.bulkDelete(args[0] + 1)
.then(messages => console.log(`Bulk deleted ${messages.size} messages`))
.catch(console.error);
答案 2 :(得分:0)
使用Regex(正则表达式)。
首先,为您的任务创建一个Regex模式。您可以使用在线工具进行测试。请参见正则表达式以了解您的任务:https://regex101.com/r/PMSvtK/1
然后只需在Python中使用此正则表达式即可:
import re
def parse_string(string):
return re.findall("\%([a-zA-Z]+)", string)
print(parse_string('Hi %how are %YOU786$ex doing'))
输出:
['how', 'YOU']