最新华为OD机试
真题目录:点击查看目录
华为OD面试真题精选:点击立即查看
题目描述
为了便于业务互交,约定一个对输入的字符串中的下划线做统一替换。
具体要求如下:
输入字符串,将其中包含的每一个下划线“_”,使用特殊字符串(^|$|[,+])
替换,并输出替换后的结果。
其中的例外场景不做替换,场景如下:
在一堆方括号之内的下划线不做替换
为转义的下划线,即\_
则不替换
备注:
调用者已确保,输入表达式的方括号会成对出现,并且方括号会在嵌套。即存在"[xx[yyyy]xxx]"
这种形式的字符串
输入字符串的长度范围:[0,10000]
输入描述
一个字符串,例如(_9494)
输出描述
一个字符串,例如((^|$|[,+])9494)
示例1
输入
hello_world_test
输出
hello(^|$|[,+])world(^|$|[,+])test
说明
示例2
输入
(_9494)
输出
((^|$|[,+])9494)
说明
解题思路
这道题目要求我们对一个输入的字符串进行处理,替换掉其中的下划线(_
)字符,特定条件下使用正则替换模式 (^|$|[,+])
。在进行替换时,我们需要