在java正则表达式中,替换为;如果存在正斜杠/后跟反斜杠\则忽略
在使用正则表达式的Java中,我将用“.”替换\code>,但是如果我只需要一个在java正则表达式中,替换为;如果存在正斜杠/后跟反斜杠\则忽略,java,regex,Java,Regex,在使用正则表达式的Java中,我将用“.”替换\code>,但是如果我只需要一个\backward slash,就会被(双引号)替换,但是如果正斜杠(/)后跟反斜杠(\)只替换正斜杠,则保留正斜杠 input: Functions.split(input.env.companyId,\"/\\\") ouput: Functions.split(input.env.companyId,"\") 代码替换函数.replaceAll(“\\\\”,“\\”) 示例:如果只找到一个反斜杠 input
\backward slash
,就会被(双引号)
替换,但是如果正斜杠(/)
后跟反斜杠(\)
只替换正斜杠,则保留正斜杠
input: Functions.split(input.env.companyId,\"/\\\")
ouput: Functions.split(input.env.companyId,"\")
代码替换函数.replaceAll(“\\\\”,“\\”)
示例:如果只找到一个反斜杠
input: Functions.split(input.env.companyId,\"\\\")"
output: Functions.split(input.env.companyId,""")
如果正斜杠(/)
后跟反斜杠(\)
仅替换正斜杠,请保持反斜杠不变
input: Functions.split(input.env.companyId,\"/\\\")
ouput: Functions.split(input.env.companyId,"\")
因此,结合这两种情况的预期输出,如何通过修改replaceAll regex模式来获得预期输出。这个答案目前是问题的一部分。在尝试更新以适应最新版本之前,等待澄清
使用负环顾法查找不在\
前面或后面的\
,即在输入字符串中查找独立的\
字符
范例
我可以问一下这里的上下文是什么吗?很多时候,当我看到这样的问题时,它是用来解析一种众所周知的数据格式,如JSON或CSV——在这种情况下,通常最好使用专门为任务编写的库。这里可能不是这样,但我认为值得检查。如果输入是文本值
。\”\\\“
”,而您仅将一个独立的\
替换为”
,则只替换第一个\
,从而导致..,“\\\””
,而不是您声称需要的..,“)
。请澄清!抱歉,我已经更改了问题,我想将\替换为“但若存在正斜杠/后跟反斜杠,则替换保留的正斜杠其余部分。”is@vikram您仍然没有澄清。如果实际输入的文本值是…,\“\\\”
(实际文本值,即Java编译器以任何形式取消转换字符串文字后的结果文本),使用4\
和3“
,您从不替换”
,有时(?)将\
替换为”
,有时(?)将//code>替换为
,否则将\
和/
单独放置,那么结果将具有相同的字符数,那么为什么您希望结果…“)
中所有的\
都消失了,而最后一个“
以某种方式移动到)
之前?这毫无意义。请澄清@vikram请注意打印的输入文本与生成该输入文本所需的main
方法中的字符串文本之间的巨大差异。您的问题是显示输入文本和输出文本,而不是字符串文本。当你像我反复要求的那样澄清问题时,请明确文本和产生文本所需的文字之间的区别。
input: Functions.split(input.env.companyId,\"\\\")"
output: Functions.split(input.env.companyId,""\\\")"