Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:拆分字符串并在列表中使用delimeters存储令牌_Python_Regex_String_List_Split - Fatal编程技术网

Python:拆分字符串并在列表中使用delimeters存储令牌

Python:拆分字符串并在列表中使用delimeters存储令牌,python,regex,string,list,split,Python,Regex,String,List,Split,我想要拆分字符串并在列表中存储带有delimeters的令牌。我的意思是,我有这样的字符串: s = "hi,my+dear-friend*1" 我想得到: ["hi", ",", "my", "+", "dear", "-", "friend", "*", "1"] 可以使用正则表达式执行此操作: import re s = "hi,my+dear-friend*1" re.findall(r"\w+|\W",s) 输出: ['hi', ',', 'my', '+', 'dear',

我想要拆分字符串并在列表中存储带有delimeters的令牌。我的意思是,我有这样的字符串:

s = "hi,my+dear-friend*1"
我想得到:

["hi", ",", "my", "+", "dear", "-", "friend", "*", "1"]

可以使用正则表达式执行此操作:

import re

s = "hi,my+dear-friend*1"
re.findall(r"\w+|\W",s)
输出:

['hi', ',', 'my', '+', 'dear', '-', 'friend', '*', '1']

可以使用正则表达式执行此操作:

import re

s = "hi,my+dear-friend*1"
re.findall(r"\w+|\W",s)
输出:

['hi', ',', 'my', '+', 'dear', '-', 'friend', '*', '1']

您需要将捕获组与正则表达式一起使用

>>> import re
>>> s = "hi,my+dear-friend*1"
>>> re.split(r'(\W)', s)
['hi', ',', 'my', '+', 'dear', '-', 'friend', '*', '1']

您需要将捕获组与正则表达式一起使用

>>> import re
>>> s = "hi,my+dear-friend*1"
>>> re.split(r'(\W)', s)
['hi', ',', 'my', '+', 'dear', '-', 'friend', '*', '1']

您对分隔符的定义是什么?有接受的分隔符列表吗?我有列表分隔符“+-*/,=”和带文本的字符串,我想得到标记列表。我想在Java中做一些类似类StringTokenizer的事情。您对分隔符的定义是什么?有接受的分隔符列表吗?我有列表分隔符“+-*/,=”和带文本的字符串,我想得到标记列表。我想在Java中做一些类似于类StringTokenizer的事情。