Python技术问询:如何按每两个空格分割字符串得到指定格式?
解决Python字符串两两元素合并的问题
你当前的需求并不是按两个空格分割字符串(原始字符串里是单个空格分隔每个元素),而是要把相邻的两个元素配对合并成带空格的字符串。以下两种方法可以实现:
方法一:先分割再分组合并
先把字符串按空白分割成单个元素的列表,再通过步长遍历的方式,每两个元素拼接成目标格式:
s = "FN 318488 FO 318488 FP 318488 FR 318488 FS 318488" split_items = s.split() # 使用默认split(),自动处理任意空白(包括多个空格、制表符等) result = [f"{split_items[i]} {split_items[i+1]}" for i in range(0, len(split_items), 2)] print(result)
执行后输出:
['FN 318488', 'FO 318488', 'FP 318488', 'FR 318488', 'FS 318488']
方法二:用正则表达式直接匹配
利用正则表达式匹配“非空白字符+空格+非空白字符”的组合,直接提取所有符合的键值对:
import re s = "FN 318488 FO 318488 FP 318488 FR 318488 FS 318488" result = re.findall(r'\S+ \S+', s) print(result)
该方法同样能得到你想要的输出结果。
补充说明
你之前使用string.split(" ")得到单个元素列表,是因为原始字符串中是单个空格分隔元素,split(" ")会按每一个单个空格分割,将每个独立元素拆分出来。而你的实际需求是对分割后的列表进行两两分组合并,并非按两个连续空格分割字符串。
内容的提问来源于stack exchange,提问作者sarath_kanam
相关产品推荐
相关产品推荐

