java String的replaceAll方法替换中间部分下划线以后的文字的正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java String的replaceAll方法替换中间部分下划线以后的文字的正则表达式相关的知识,希望对你有一定的参考价值。
现在想写一个正则表达式,想达到如下效果:
原始:http://www.hhhhh.com/news/index_2.html
替换为:http://www.hhhhh.com/news/index/
将后面的_2.html 替换掉
规则:以下划线开头往后的内容全部替换掉,正则表达式应该怎么写,谢谢啦
String pString =path.replaceAll("_2.html", "/");
System.out.println(pString);追问
我后面的_2.html是动态的
追答String pString =path.replaceAll("[_][a-zA-Z0-9_\\\\.]*", "/");因为不知道你具体后面的是什么格式的,所以我这个正则表达式可以匹配所有以_开头的包括.和_在内的所有数字字母组合
参考技术A 如果是Java的话可以直接用substring(0, indexOf("_"))这种方法吧。。。。追问可是我要将后面的字符串替换为”/“,不能我subString之后再追加一个”/"吧
追答试试/^_/
Java-String的replaceAll()方法(力扣20题相关)
https://www.runoob.com/java/java-string-replaceall.html
原地址在上面
replaceAll() 方法使用给定的参数 replacement 替换字符串所有匹配给定的正则表达式的子字符串。
语法
public String replaceAll(String regex, String replacement)
参数
-
regex -- 匹配此字符串的正则表达式。
-
newChar -- 用来替换每个匹配项的字符串。
返回值
成功则返回替换的字符串,失败则返回原始字符串。
实例
public class Test {
public static void main(String args[]) {
String Str = new String("www.google.com");
System.out.print("匹配成功返回值 :" );
System.out.println(Str.replaceAll("(.*)google(.*)", "runoob" ));
System.out.print("匹配失败返回值 :" );
System.out.println(Str.replaceAll("(.*)taobao(.*)", "runoob" ));
}
}
以上程序执行结果为:
匹配成功返回值 :runoob
匹配失败返回值 :www.google.com
以上是关于java String的replaceAll方法替换中间部分下划线以后的文字的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
Java-String的replaceAll()方法(力扣20题相关)
Java String ReplaceAll 方法给出非法重复错误?
Java:理解 String replaceAll() 方法
JAVA中appendReplacement()方法和replaceAll()方法有啥区别。。