我想将下面的字符串除以该字符串中的第一个等号
字符串:
s= 'ButtonParams=U3ViamVjdCxFbWFpbA=='
Desired_String:
s= ['ButtonParams','U3ViamVjdCxFbWFpbA==']
当我做s.split(" =")时,我得到以下内容,这是我不想要的内容:
s.split("=")
['ButtonParams', 'U3ViamVjdCxFbWFpbA', '', '']
我需要在字符串列表中运行此函数,在这种情况下,可伸缩性在这里很重要。
答案 0 :(得分:8)
split
接受一个可选的“maxsplit”参数:如果将其设置为1
,它将在找到的第一个=
字符上拆分并返回字符串的其余部分:
>>> s.split('=', 1)
['ButtonParams', 'U3ViamVjdCxFbWFpbA==']
答案 1 :(得分:2)
s.split("=", maxsplit=1)
是最好的,但
import re
print (re.split('=',s,1))
输出
['ButtonParams', 'U3ViamVjdCxFbWFpbA==']
正如您标记了regex
稍微偏离帖子
如果预期输出为['ButtonParams', 'U3ViamVjdCxFbWFpbA']
,那么您可以使用以下liscos(列表推导)
[i for i in s.split('=') if i is not '']
[i for i in s.split('=') if i ]
(由Adam Smith供稿)答案 2 :(得分:1)
str.split
接受一个可选参数maxsplit
,它确定要进行的分割(最大)次数,例如:
"ButtonParams=U3ViamVjdCxFbWFpbA==".split("=", maxsplit=1)
# ['ButtonParams', 'U3ViamVjdCxFbWFpbA==']