簡體   English   中英

groovy或java:如何將'\\'替換為'\\\\''C:\\ www \\ web-app \\ StudyReports \\ test.bat'

[英]groovy or java: how can replace '\' with '\\' 'C:\www\web-app\StudyReports\test.bat'

我最終的目標是擁有一個像

def newline = 'C:\\www\web-app\StudyReports\\test.bat'

但是我的舊行只有一個'\\'

我嘗試了以下幾種不同的使用方式:

def newline = oldline.replaceAll(/\\/,'//')

但這沒有編譯。

如果我是你,我將用反斜杠替換反斜杠:

def newline=oldline.replaceAll(/\\+/, '/')

Java和Windows都將正斜杠用作文件分隔符,並且使用起來要容易得多。

要在Java或Groovy中匹配單個反斜杠,您必須輸入4次,因為編譯器和正則表達式引擎均使用反斜杠作為轉義字符。 因此,如果在Java中以字符串形式輸入"\\\\\\\\" ,則編譯器將生成包含兩個字符\\\\的字符串,正則表達式引擎會將其解釋為與一個反斜杠\\完全匹配的字符。

替換字符串也必須轉義兩次 ,因此您必須輸入8個反斜杠作為替換字符串。

在Java中,您可以使用String.replace(CharSequence target, CharSequence replacement) ,它不是基於正則表達式的。

您將編寫如下內容:

String after = before.replace("\\", "\\\\");

這雙打每\\before

String path = "1\\2\\\\3\\4";
System.out.println(path);
path = path.replace("\\", "\\\\");
System.out.println(path);

上面的輸出是( 如ideone.com上所示

1\2\\3\4
1\\2\\\\3\\4

暫無
暫無

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

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