Java regExp在最后一个报价之前获取子报价
我被刺痛了:Java regExp在最后一个报价之前获取子报价,java,regex,Java,Regex,我被刺痛了: String text = "\"Alaska \"adaa\" asdas\" at [2013-10-298 13:36.062];"; 我需要换个替补 //"Alaska "adaa" asdas" String text = "\"Alaska \"adaa\" asdas\""; 如何?尝试以下方法: text.replace("\"[^\"]*$", "\"") 一种方法是用空字符串替换最后一个引号之后的所有内容: test = test.replaceAll("
String text = "\"Alaska \"adaa\" asdas\" at [2013-10-298 13:36.062];";
我需要换个替补
//"Alaska "adaa" asdas"
String text = "\"Alaska \"adaa\" asdas\"";
如何?尝试以下方法:
text.replace("\"[^\"]*$", "\"")
一种方法是用空字符串替换最后一个引号之后的所有内容:
test = test.replaceAll("(?<=\")[^\"]*$", "");
// ^^^^^^^ ^^^ ^
// | | |
// Preceded by a quote ----+ | |
// Does not contain a quote -----+ |
// Goes all the way to the end ------+
test=test.replaceAll(“(?为什么不直接使用
是的,这很有效。谢谢。是不是可以不替换,而是用regexp替换子字符串?因为我需要这一行future@wingsofovnia一种方法是将其存储到不同的字符串中,比如说,字符串dropTail=test.replaceAll(…)
。这将使原始的测试保持原样。@dasblinkednlight是的,但太简单了(呵呵)无论如何,谢谢)
text = text.substring(0, text.lastIndexOf("\"") + 1);