我有一个字符串
s = 'abcd qwrre qwedsasd zxcwsacds'
Run Code Online (Sandbox Code Playgroud)
我想在第一次出现空格时仅将两个部分中的任何字符串拆分.即.a='abcd'和b='qwrre qwedsasd zxcwsacds'
如果我使用a, b=split(' ')它会给我一个错误,因为有太多的值要解压缩.
小智 23
你可以用a,b = split(' ', 1).
第二个参数1是要完成的最大拆分数.
s = 'abcd efgh hijk'
a,b = s.split(' ', 1)
print(a) #abcd
print(b) #efgh hijk
Run Code Online (Sandbox Code Playgroud)
有关字符串拆分功能的更多信息,请参阅str.split手册.
ajx*_*jxs 11
来自Python文档
str.split(sep = None,maxsplit = -1)
使用sep作为分隔符字符串,返回字符串中单词的列表.如果给出maxsplit,则最多完成maxsplit拆分(因此,列表最多将包含maxsplit + 1个元素).如果未指定maxsplit或-1,则对分割数量没有限制(进行所有可能的分割).
'1 2 3'.split(maxsplit=1)
# ['1', '2 3']
Run Code Online (Sandbox Code Playgroud)
con*_*stt 10
您可以使用标准字符串方法partition搜索给定的分隔符,并返回由其前面的字符串部分,分隔符本身和后面的部分组成的3元组.
>>> s = 'abcd qwrre qwedsasd zxcwsacds'
>>> s.partition(' ')
('abcd', ' ', 'qwrre qwedsasd zxcwsacds')
Run Code Online (Sandbox Code Playgroud)
尝试这个:
s = 'abcd qwrre qwedsasd zxcwsacds'
s1 = s.split()[0]
s2 = ' '.join(s.split()[1:])
print(s1)
print(s2)
Run Code Online (Sandbox Code Playgroud)
输出:
abcd
qwrre qwedsasd zxcwsacds
Run Code Online (Sandbox Code Playgroud)
或者:
new_s = ''.join([' s ' if i.isspace() else i for i in s])
a,b = new_s.replace(' s','',1).split(' s ')
print(a)
print(b)
Run Code Online (Sandbox Code Playgroud)
输出:
abcd
qwrre qwedsasd zxcwsacds
Run Code Online (Sandbox Code Playgroud)
或者甚至更好地拆分制表符和换行符:
a,b = s.split(None,1)
print(a)
print(b)
Run Code Online (Sandbox Code Playgroud)
输出:
abcd
qwrre qwedsasd zxcwsacds
Run Code Online (Sandbox Code Playgroud)
小智 5
您在拆分中缺少一个参数,即出现次数,请尝试此操作;
s='abcd qwrre qwedsasd zxcwsacds'
>>> a, b = s.split(' ', 1)
>>> print(a, b)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13492 次 |
| 最近记录: |