[英]Split a string in two on the middle comma?
我想根據中間逗號將字符串分成2部分。
從:
"1, 4, a, fdsa, 53, dfs, sdfg, klk"
至:
"1, 4, a, fdsa" and "53, dfs, sdfg, klk"
一些基本的算法:
splitstring = mystring.split(',')
print(','.join(splitstring[:len(splitstring)//2]) + ' and ' + ','.join(splitstring[len(splitstring)//2:]))
如果您想在中間逗號后消除原始字符串中的多余空格,可以去除它們,因此添加到每個join
語句中:
','.join(...).strip()
問候。 我將以您的字符串為例:
S = "1, 4, a, fdsa, 53, dfs, sdfg, klk"
假設的數目,
將是奇數。 所以,我的想法是找到中間,
(這將是(N + 1)個 ,
)。 為此,我們可以應用字符串方法.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:];
產生所需的分割。
希望這可以幫助。
只是分裂並重新加入上半場。
>>> 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')
讓你的刺痛是input_str,然后
s = input_str.split(',')
string_length = len(s)
print(','.join(s[0:string_length//2]) +" and " + ','.join(s[string_length//2:]))
將打印您所需要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.