[英]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.