[英]Java: Replace String (with brackets!)
我目前正在開發一個小型程序,該程序:
轉換示例:abc(每個部分之間都有一個制表符),例如“ its [] bracket”->“ itsabracket”
tagname [ ] a
在配置文件中(“ []”被替換為“ a”)。 a是告訴我要轉換哪些列的標簽,b是原始子字符串,c是必須轉換為String的字符串。
問題是:我已經知道配置文件中將使用方括號(圓形,卷曲和方括號),但是我不知道它是否只是一個或什至更長的短語(帶字母,括號之間的數字。
String s = s.replaceAll(convert[i].original, convert[i].new);
for“ []”->“ a”將[a]寫入輸出文件,如果我先執行以下操作,則當它讀取配置文件並將所有內容保存在“ convert”數組中時,它將引發PatternSyntaxException(“ Unclosed character靠近索引0“的類別):
if(ss.contains("[")) {
ss = ss.replaceAll("[", "\\[");
} else if(ss.contains("]")) {
ss = s.replaceAll("]", "\\]");
}
同
if(ss.contains("\\[")) {
ss = ss.replaceAll("\\[", "\\\\[");
} else if(ss.contains("\\]")) {
ss = s.replaceAll("\\]", "\\\\]");
}
它再次輸出“ [a]”。
有什么想法,我該如何做呢?
Use String.replace它接受與replaceAll不同的字符序列。您不必對[]等使用轉義字符。
String s = s.replace(convert[i].original, convert[i].new);
輸入
其[] []]托架
標記名[] a
產量
itsaa]托架
希望這是您希望使用代碼實現的目標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.