如何获得一个字符串中第一个双引号和第二个双引号之间的字符串?
比如:this.addMessage("q3p.updateSupport.impossible","W");要获得q3p.updateSupport.impossibl...
比如:
this.addMessage("q3p.updateSupport.impossible","W");
要获得q3p.updateSupport.impossible,要用双引号作为判断依据 展开
this.addMessage("q3p.updateSupport.impossible","W");
要获得q3p.updateSupport.impossible,要用双引号作为判断依据 展开
1个回答
展开全部
要用正则表达式来解决
匹配到第一个参数的值
(?<=\\(\").*?(?=\")
(?<=x)匹配前面是x的,并且不匹配x
(?=x)匹配后面是x的,并且不匹配x
\\( 转义( \" 转义" (这俩个转义的不同的工具可能语法不一样,意思是这个意思)
? 尽可能少的匹配
匹配到第一个参数的值
(?<=\\(\").*?(?=\")
(?<=x)匹配前面是x的,并且不匹配x
(?=x)匹配后面是x的,并且不匹配x
\\( 转义( \" 转义" (这俩个转义的不同的工具可能语法不一样,意思是这个意思)
? 尽可能少的匹配
追问
能给个具体代码么。。。比如String a = this.addMessage("q3p.updateSupport.impossible","W");
String b =
最后使b为q3p.updateSupport.impossible
万分感谢!
追答
this.addMessage()是什么。。
正则表达式只是对字符串的处理,比如
String a="this.addMessage("q3p.updateSupport.impossible","W");"
Pattern pattern = Pattern.compile("(?<=\\(\").*?(?=\")");
Matcher matcher = pattern.matcher(a);
while (matcher.find()) {
String b= matcher.group(0);
System.out.println(b);
}
这样能得到”q3p.updateSupport.impossible“
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询