public static String modifyForCompliance(String header) {
String modHeader = header;
for (int i = 0; i < replacement.length; i++) {
modHeader.replaceAll(Pattern.quote(replacement[i][0]), Pattern.quote(replacement[i][1]));
System.out.println(modHeader);
}
return modHeader;
}
所以上面我有这个方法,它应该将下面数组中的所有 [i][0] args 更改为 [i][1] args。这应该允许将字符串放入文件名中。但是,我得到的印刷品发布在下面,您会注意到它与该方法试图做的不匹配......有没有人对如何解决这个问题有任何想法?
起始字符串:
Game <UUID: a1ddc565-8205-45e6-9c9e-4855ee271c0b>
大批:
public static final String[][] replacement = new String[][] {{" ", "_"}, {"\\", "(backslash)"}, {"/", "(forwardslash)"}, {":", "="}, {"*", "(asterisk)"}, {"?", "(q-mark)"}, {"\"", "(quotation)"}, {"<", "("}, {">", ")"}, {"|", "(bar)"}};
印刷:
2013-09-14 11:15:21 [INFO] Game <UUID: a1ddc565-8205-45e6-9c9e-4855ee271c0b>
2013-09-14 11:15:21 [INFO] Game <UUID: a1ddc565-8205-45e6-9c9e-4855ee271c0b>
2013-09-14 11:15:21 [INFO] Game <UUID: a1ddc565-8205-45e6-9c9e-4855ee271c0b>
2013-09-14 11:15:21 [INFO] Game <UUID: a1ddc565-8205-45e6-9c9e-4855ee271c0b>
2013-09-14 11:15:21 [INFO] Game <UUID: a1ddc565-8205-45e6-9c9e-4855ee271c0b>
2013-09-14 11:15:21 [INFO] Game <UUID: a1ddc565-8205-45e6-9c9e-4855ee271c0b>
2013-09-14 11:15:21 [INFO] Game <UUID: a1ddc565-8205-45e6-9c9e-4855ee271c0b>
2013-09-14 11:15:21 [INFO] Game <UUID: a1ddc565-8205-45e6-9c9e-4855ee271c0b>
2013-09-14 11:15:21 [INFO] Game <UUID: a1ddc565-8205-45e6-9c9e-4855ee271c0b>
2013-09-14 11:15:21 [INFO] Game <UUID: a1ddc565-8205-45e6-9c9e-4855ee271c0b>