gpt4 book ai didi

Java 正则表达式和替换

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:17:29 24 4
gpt4 key购买 nike

您好,我想了解 Java 正则表达式替换。我有很多正则表达式和替换应用于文件中的文本。我想阅读正则表达式并对文本应用替换。比如,我想在下面的示例中将 text 替换为 variable

import java.util.regex.*;
public class regex1{
public static void main(String args[]){
String s1 = "cat catches dog text";
Pattern p1 = Pattern.compile("\\s*cat\\s+catches\\s*dog\\s+(\\S+)");
Matcher m1 = p1.matcher(s1);
if (m1.find()){
System.out.println(m1.group(1));
s1 = m1.replaceFirst("variable $1");
System.out.println(s1);
}
else{
System.out.println("Else");
}
}
}

但是我得到的输出是

text
variable text

任何人都可以解释一下 group 和 replacement 在 java 中是如何工作的吗?如何得到正确的输出?

最佳答案

使用这段代码:

String s1 = "cat catches dog text";
Pattern p1 = Pattern.compile("\\s*cat\\s+catches\\s*dog\\s+(\\S+)");
Matcher m1 = p1.matcher(s1);
if (m1.find()){
s1 = m1.replaceFirst(s1.substring(0, m1.start(1)) + "variable");
}
else{
System.out.println("Else");
}
System.out.println(s1);
// cat catches dog variable

关于Java 正则表达式和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17533355/

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