如何在指定字符出现后分割字符串并包含该字符?
实现指定字符后分割并保留该字符的字符串分割功能
需求:实现字符串分割功能,在指定字符的每次出现位置之后进行分割,且将该指定字符包含在对应的前一个子串中。
示例:
输入:"0101101000101011011110"(分割字符为"0")
输出:["0", "10", "110", "10", "0", "0", "10", "10", "110", "11110"]
可以通过遍历字符串累积字符的方式实现:逐个字符添加到临时子串,每遇到指定的分割字符时,就把当前临时子串存入结果列表,然后清空临时子串继续处理后续内容。如果遍历结束后临时子串还有剩余内容(比如原字符串末尾不是分割字符的情况),也需要将其加入结果。
Python代码实现:
def split_after_char(s, split_char): result = [] current = [] for char in s: current.append(char) if char == split_char: result.append(''.join(current)) current = [] # 处理末尾未被分割的剩余字符 if current: result.append(''.join(current)) return result # 测试示例 input_str = "0101101000101011011110" split_char = "0" print(split_after_char(input_str, split_char))
运行这段代码后,输出结果和示例完全一致:["0", "10", "110", "10", "0", "0", "10", "10", "110", "11110"]
内容的提问来源于stack exchange,提问作者RedP
相关产品推荐
相关产品推荐

