python中基于特殊字符的拆分字符串

python中基于特殊字符的拆分字符串,python,string,split,ascii,Python,String,Split,Ascii,例如,字符串为hello%$world%^&let me^@love&&you预期结果为一个变量中的hello,其余变量为其他变量,例如a=“hello”b=“world”等。使用正则表达式 像这样:- import re a = "hello %$ world %^& let me ^@ love && you" print(re.findall(r'\w+',a)) 您可以使用以下用户(从字符串中检索世界): 请参阅中有关正则表达式的详细信息 更新 如注释中所述,附

例如,字符串为
hello%$world%^&let me^@love&&you
预期结果为一个变量中的hello,其余变量为其他变量,例如a=“hello”b=“world”等。

使用正则表达式

像这样:-

import re
a = "hello %$ world %^& let me ^@ love && you"
print(re.findall(r'\w+',a))
您可以使用以下用户(从字符串中检索世界):

请参阅中有关正则表达式的详细信息

更新 如注释中所述,附加regexp以检索由特殊字符分隔的一组单词:

my_string = "hello world #$$ i love you #$@^ welcome to world"
re.findall(r'(\w+[\s\w]*)\b', my_string)  
# ['hello world', 'i love you', 'welcome to world']

基本答案是一个regexp。我建议您访问NLTK中的tokenizer,他们鼓励您对该主题进行研究,并为您以后切换到更复杂的内容提供了灵活性。你猜怎么着?它还提供了一个基于Regexp的标记器

from nltk.tokenize import RegexpTokenizer 

tokenizer = RegexpTokenizer(r'([A-Za-z0-9 ]+)')
corpus = tokenizer.tokenize("hello %$ world %^& let me ^@ love && you")

使用正则表达式解决这些问题。查看
re.split
,在任何非单词序列上拆分(或任何您的标准)。你当然不想以单独的变量结束,你会希望所有这些值都在一个列表或dict中。它应该在单独的变量中@decezeSee–变量通常是个坏主意。我知道这一点,但如何在特殊字符后存储字符串,例如
hello world#$$i love you#$$^欢迎来到世界
输出必须是a=“hello world”b=“i love you”c=“欢迎来到世界”或者,如果导入一个列中有类似内容的csv文件,并将每个输出保存到一个特定列中,该怎么办!根据更新,它将是:tokenizer=RegexpTokenizer(r'([A-Za-z0-9]+))
from nltk.tokenize import RegexpTokenizer 

tokenizer = RegexpTokenizer(r'([A-Za-z0-9 ]+)')
corpus = tokenizer.tokenize("hello %$ world %^& let me ^@ love && you")