Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java regExp在最后一个报价之前获取子报价_Java_Regex - Fatal编程技术网

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);