簡體   English   中英

Java如何刪除字符串中的尾隨和前導轉義斜杠

[英]Java How to remove trailing and leading escape slashes in string

例如,我有一個字符串a="\\\\a\\\\b\\\\";

如何刪除開頭和結尾的所有轉義斜杠,因此處理后的字符串將為a\\\\b

我嘗試使用:

a=a.replaceFirst("\\+$", "");
a=a.replaceFirst("\\+", "");

但是它沒有按我預期的那樣正常工作。

您可以只使用兩個正則表達式:

String a = "\\\\a\\b\\\\\\";
System.out.println(
   a.replaceAll("^\\\\+", "")
    .replaceAll("\\\\+$", "")
);

好多酒吧吧? 這是因為要在字符串中表示單個"\\" ,我們需要用另一個小節來代替它,即"\\\\" 但是, \\也是正則表達式的特殊字符,因此您也需要對其進行換碼。

這就是為什么您需要四個\\\\\\\\ ,它將被“翻譯”為兩個的原因。

從頭開始遍歷字符串,直到遇到非斜杠為止,然后在其之前刪除斜杠,反之亦然。

對於這種瑣碎的事情,我不會使用正則表達式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM