之前substing我有一個刺:Java的正則表達式得到最後的報價
String text = "\"Alaska \"adaa\" asdas\" at [2013-10-298 13:36.062];";
我需要得到substing
//"Alaska "adaa" asdas"
String text = "\"Alaska \"adaa\" asdas\"";
如何?
之前substing我有一個刺:Java的正則表達式得到最後的報價
String text = "\"Alaska \"adaa\" asdas\" at [2013-10-298 13:36.062];";
我需要得到substing
//"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 ------+
是的,這個工程。謝謝。是一種不替代的能力,但用正則表達式的子串?因爲我將來需要這條線 – ovnia
@wingsofovnia一種方法是將它存儲到另一個'String'中 - 比如'String dropTail = test.replaceAll(...)'。這會使原來的「測試」保持不變。 – dasblinkenlight
@dasblinkednlight yep,但太簡單樸素了)謝謝,無論如何) – ovnia
爲什麼不直接使用lastIndexOf
?
text = text.substring(0, text.lastIndexOf("\"") + 1);
+1。這應該比正則表達式解決方案更快。 – Axel
對不起,我的錯...糾正 – Axel