我有我需要修改的字符串ArrayList。当我将它们添加到列表中时,它们看起来像这样。ReplaceAll()替换错误的子字符串
tick.add("CAST.ST");
tick.add("ELUX-B.ST");
tick.add("EKTA-B.ST");
我接下来要修改名称以去除“.ST”,并添加“.XML”
private static void addFileNames(List<String> ticks, List<File> fileNames)
{
List<String> tick = new ArrayList<String>();
for(int i=0; i<ticks.size(); i++)
{
tick.add(ticks.get(i).replaceAll(".ST", ".xml"));
}
for(int i=0; i<tick.size(); i++)
{
File f = new File("XML/" + tick.get(i));
fileNames.add(f);
}
这完全适用于所有的字符串,除了‘CAST.ST’,它获取的方法修改为“C.xml.xml”。 我也试过replaceFirst,然后它将子串“AST”替换为“C.xml.ST”。
有人可以看到我在这里做错了吗?
你尝试'的replaceAll(“\ ST”,” .XML“)'?您目前正在匹配任何字符,然后是ST,这就是为什么你得到你得到的结果 – vainolo
谢谢,我不得不写\t tick.add(ticks.get(i).replaceAll(“\\。ST。”,“。 XML“)); – ZedIsDead