您的位置:首页 > 游戏 > 游戏 > 电脑网页开发_济南建手机网站公司_合肥网站seo公司_seo诊断书

电脑网页开发_济南建手机网站公司_合肥网站seo公司_seo诊断书

2024/12/24 3:25:01 来源:https://blog.csdn.net/weixin_45228198/article/details/144122891  浏览:    关键词:电脑网页开发_济南建手机网站公司_合肥网站seo公司_seo诊断书
电脑网页开发_济南建手机网站公司_合肥网站seo公司_seo诊断书

题目

  • 输入一个字符串,对其中的下划线做统一替换;
  • 将其中的每个下划线“_”,使用特殊字符串“(^|$|[,+])”替换,并输出替换后的结果;
  • 如下场景不做替换:
    • 在一堆方括号之内的下划线不替换,方括号成对出现,且可以嵌套;
    • 转义的下划线“_” 不替换;

实例1:
输入:
“^(_9494)”
输出:
“^((^|$|[,+])9494)”

 

解题代码

方案1:


s = input().strip()result = ""
part = "(^|$|[,+])"
stack = []for idx, char in enumerate(s):if idx == 0 and char == "_":# 直接替换result += partelif char == "_":if s[idx -1] == "\\":  # 不替换result += charelif stack:  # 不替换result += charelse:result += partelif char == "[":stack.append(char)result += charelif char == "]":stack.pop()result += charelse:result += charprint(result)

 
方案2:


input_str = input()
count = 0
result = ""
for i in range(len(input_str)):if (input_str[i] == '[') :count+=1elif (input_str[i] == ']') :count-=1#使用count来判断是否在方括号内部if (count == 0) :if (input_str[i] == '_' and (i == 0 or input_str[i - 1] != '\\')) :result += "(^|$|[,+])"else:result += input_str[i]else:result += input_str[i]
print(result)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com