Kotlin中如何将连续重复的字符序列合并为单个字符?
解决方案
核心思路是用正则表达式匹配连续重复的连字符(包括普通短横-和长横—),将其替换为单个对应的符号,无需依赖字符串长度,就能快速完成格式转换。
以Python为例,代码实现如下:
import re original_str = "String1=277473—-2627272———-273-3838383-/./--asdfg-----123:12:2---" # 先把连续的普通短横替换为单个- processed_str = re.sub(r'-+', '-', original_str) # 再把连续的长横替换为单个— processed_str = re.sub(r'—+', '—', processed_str) print(processed_str)
运行后输出结果即为你需要的格式:String1=277473—-2627272—273-3838383-/./-asdfg-123:12:2
其他编程语言的实现逻辑一致,举两个例子:
- JavaScript:
str.replace(/-+/g, '-').replace(/—+/g, '—') - Java:
str.replaceAll("-+", "-").replaceAll("—+", "—")
这种方式适配任意长度的连续连字符场景,处理效率高且逻辑简洁。
内容的提问来源于stack exchange,提问作者Rel0ad
相关产品推荐
相关产品推荐

