我正在尝试使用一系列 string.replaceAlls 来交换具有 ASCII 和 HTML 编码的文本文件中的所有 UTF-8 特殊字符。在此过程中,我遇到了一个特别顽固的问题:\uAC8B,UTF-8 中点。
这是一半时间删减角色的那一行:
string_out = string_out.replaceAll("¬ï", "·");
(“¬ï” 是 UTF-8 · 显示为扩展 ASCII 的方式。在绊倒这一行之前,我尝试了“\uAC8B”和许多其他编码但没有成功。)
该行删除了 UTF-8 中点,它没有替换它,它只做了一半的时间。另一半时间它错过了角色,并保持不变。如果我制作它的多个副本或在它周围移动其他线条,它甚至不会这样做。
这感觉像是一个多线程问题,但我不知道有任何多线程正在发生。只是从另一个 .jsp 运行的包含的 .jsp 文件中的一个 replaceAlls 块。
什么可能导致这种类似竞争条件的行为?