regex - 用正则表达式替换内容
问题描述
对于robotframework Replace String Using Regexp,我需要编写一个正则表达式,但我是新手,你能帮帮我吗?
需要在每个发生的字符串中进行{{string1.string2.string3.string4}}
转换 ${string1_string2_string3_string4}
所以转换是:
{{ will be ${
}} will be }
. will be _
例如,我得到一个字符串(或文件..),其中包含 ;
{
"my.value_1{}":{{string1.string2.string3.string4}},
"my_value2.}{":{{string1.string2.string3.string4}},
"my_value3":{{string1.string2}}10.64
}
我希望它是:
{
"my.value_1{}":${string1_string2_string3_string4},
"my_value2.}{":${string1_string2_string3_string4},
"my_value3":${string1_string2}10.64
}
如您所见,仅在格式 {{string1.string2.string3.string4}} 或 {{string1.string2}}... 必须由正则表达式转换。{ } 等字符。如果不像我说的格式,就不能转换。
非常感谢!
解决方案
你的例子不是很清楚,下次请更具体的例子。
我假设这是您的初始字符串:
{{string1.string2.string3.string4}}
这是一个理想的结果:
${string1_string2_string3_string4}
您可以通过几个步骤实现:
Substitute
${variable}= Set Variable {{string1.string2.string3.string4}}
${variable}= Replace String Using Regexp ${variable} [.] _
${variable}= Replace String Using Regexp ${variable} [{]{2} {
${variable}= Replace String Using Regexp ${variable} [}]{2} }
${variable}= Set Variable $${variable}
Log To Console ${variable}
这将记录到控制台此字符串:
${string1_string2_string3_string4}
推荐阅读
- json - JSON 架构的文件夹参考
- c++ - 使用 C++ std::cin 时出现溢出错误,变量内部有奇怪的值 (C++11)
- python - 在 Python 3.x 中获取 map() 以返回列表而不是 map 对象
- javascript - 如何在框架的同一页面内定向href
- java - ElementNotInteractable Exception in Selenium
- python-3.x - Button Tkinter 中的两个命令
- java - 向 Google 进行身份验证时授权无效
- jquery - 星级 - 选择后无法降低评级值
- flutter - 静音视频播放器包控制台消息
- ruby-on-rails - Rails 6.1 范围合并/加入