我想根据中间的逗号将字符串分成两部分。
自:
"1, 4, a, fdsa, 53, dfs, sdfg, klk"
要:
"1, 4, a, fdsa" and "53, dfs, sdfg, klk"
答案 0 :(得分:3)
一些基本的算术:
splitstring = mystring.split(',')
print(','.join(splitstring[:len(splitstring)//2]) + ' and ' + ','.join(splitstring[len(splitstring)//2:]))
如果您想在中间逗号后删除原始字符串中的额外空格,您可以将它们删除,因此请添加到每个join
语句中:
','.join(...).strip()
答案 1 :(得分:1)
分裂并重新加入上半场。
>>> s = '1, 4, a, fdsa, 53, dfs, sdfg, klk'
>>> *a, b = s.split(', ', s.count(',') // 2 + 1)
>>> ', '.join(a), b
('1, 4, a, fdsa', '53, dfs, sdfg, klk')
答案 2 :(得分:0)
让你的sting成为input_str,然后是
s = input_str.split(',')
string_length = len(s)
print(','.join(s[0:string_length//2]) +" and " + ','.join(s[string_length//2:]))
将打印您需要的内容。
答案 3 :(得分:0)
的问候。我将使用您的字符串作为示例:
S = "1, 4, a, fdsa, 53, dfs, sdfg, klk"
假设,
的数量为奇数。所以,我的想法是 找到 中间,
(这将是(n + 1)th < / em> ,
)。为此,我们可以应用字符串方法.find
。
S.find(',')
将返回1
。 (因为第一个,
位于索引1
)
S.find(',', 2)
将返回4
。 (因为在字符串上的第3个字符之后,第一个,
位于索引4
)
让字符串中,
的数量为 2n + 1 。由于您不知道中间,
的位置(对于其他字符串),您可以使用循环多次(n + 1)次来定位中间的索引,
。您可以使用S.count(',')
查找,
的数量(这将是 n )。
让位置(或索引)为m
。这样,在此之后,您可以创建两个字符串:
A=S[0:m-1];
和B=S[m+1:];
产生所需的分裂。
希望这会有所帮助。