gpt4 book ai didi

java - java中的正则表达式条件替换但在替换字符串中不在正则表达式本身中

转载 作者:行者123 更新时间:2023-11-29 09:16:07 26 4
gpt4 key购买 nike

我有一种情况,源字符串可以是任何东西,超出了用户的控制范围。用户可以提供正则表达式和替换值,以用他想要的任何内容替换源字符串以获得所需的结果字符串。问题是用户应该能够提供一个带有特定替换的正则表达式组
例如:如果 sourcestring = "1"那么用户可以制作一个正则表达式,用 "on"替换它,但同时当 sourcestring = "2"时,它被替换为 "off",其他任何东西都被替换为 "N/A ”。在代码中我可能会做类似的事情sourcestring.replace("([1])|([2])", ($1.equals("1")) ? "on": ($2.equals("2") ? "off": "N/A”));但替换的第二个操作数应该是用户选择的字符串,并且还可以包含这些条件。有没有办法做这种操作?

最佳答案

您可以设置自定义符号。

让用户提供捕获组和每个组的替换值。例如,

“你好,世界,你好吗?”

(Hello\W+World\W+)\s*(how\sare)\s*(you.*)

1 = Yo, man,
2 = sup
3 = yo?

然后编写支持的java代码。

关于java - java中的正则表达式条件替换但在替换字符串中不在正则表达式本身中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9342779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com