簡體   English   中英

ReplaceAll Java引發異常

[英]ReplaceAll java throws exception

為什么這段代碼會引發異常?

file = file.replaceAll(Pattern.quote("/"),File.separator);
Message: String index out of range: 1
File: null Class: java.lang.String Methode: charAt Line: -1
File: null Class: java.util.regex.Matcher Methode: appendReplacement Line: -1
File: null Class: java.util.regex.Matcher Methode: replaceAll Line: -1
File: null Class: java.lang.String Methode: replaceAll Line: -1

在某種程度上, replaceAll的第二個參數也是一個模式。 特別地,反斜杠具有特殊含義。 但是,您不只是想使用Pattern.quote ,因為它將引用更多的內容。 您要使用Matcher.quoteReplacement

file = file.replaceAll(Pattern.quote("/"), 
                       Matcher.quoteReplacement(File.separator));

或者-更簡單地說-根本不使用正則表達式:

file = file.replace("/", File.separator);

暫無
暫無

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

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