gpt4 book ai didi

Java replaceAll 正则表达式中的新行

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

我想用例如“abcd”替换文本“1\n2”(“1”新行和“2”)。我一直在寻找解决方案,但找不到。

下面是我的代码

String REGEX = "1\n2";
Pattern p = Pattern.compile(REGEX, Pattern.DOTALL);
Matcher m = p.matcher(text);
String newText = m.replaceAll("abcd");

[编辑]我想补充一点,文本变量是从文件中读取的:

String text = new Scanner(new File("...")).useDelimiter("\\A").next();

最佳答案

尝试将您的正则表达式更改为

String REGEX = "1\\n2";

所以它转义了 \n

例子:

public static void main(String[] args) {
String REGEX = "1\n2";
Pattern p = Pattern.compile(REGEX, Pattern.DOTALL);
Matcher m = p.matcher("test1\n2test");
String newText = m.replaceAll("abcd");
System.out.println(newText);
}

O/P:

testabcdtest

或者甚至简单地

String newText = "test1\n2test".replaceAll("1\n2", "abcd");

O/P

testabcdtest

关于Java replaceAll 正则表达式中的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19094499/

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