gpt4 book ai didi

java - 在 java 中使用 .* 替换字符串内容

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

我正在 try catch '' 部分,'<' 和 '>' 符号内的内容可能会有所不同。它也可能包含一些点。所以我在努力

String Inputstr = "SOME <Module Name> Module";                  
ptrn = Pattern.compile("<.*>", Pattern.DOTALL);
mtch = ptrn.matcher(Inputstr);
if (mtch.matches()) {
// Do a replacement operation
}

但问题是它根本不在 if 条件语句中。感谢您的帮助。

最佳答案

你应该使用 find而不是 matches . (matches 要求匹配整个字符串。)

String Inputstr = "SOME <Module Name> Module";                  
Pattern ptrn = Pattern.compile("<.*>", Pattern.DOTALL);
Matcher mtch = ptrn.matcher(Inputstr);
if (mtch.find()) {
System.out.println("The <...> part: " + mtch.group()); // <Module Name>
}

此外,您不需要 DOTALL除非你在 < 之间有换行符和 > .

如果你真的想用另一个字符串替换模块名称,你可以这样做:

String Inputstr = "SOME <Module Name> Module";                  
String outputStr = Inputstr.replaceAll("<.*>", "A-module-name");
^^^^^^^^^^
System.out.println(outputStr); // "SOME A-module-name Module"

关于java - 在 java 中使用 .* 替换字符串内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25382773/

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