sLine = sLine.replaceAll("&&", "&");
sLine = sLine.replaceAll(((char)245)+"", "?");
sLine = sLine.replaceAll(((char)213)+"", "?");
sLine = sLine.replaceAll(((char)361)+"", "?");
sLine = sLine.replaceAll(((char)251)+"", "?");
Run Code Online (Sandbox Code Playgroud)
有没有办法只到这一行?这在大字符串上非常慢.
考虑将字符串转换为a char[],然后手动迭代数组.
避免字符串连接,如((char)245)+"".使用字符常量.
但看起来您正在尝试手动修复字符串的编码?这是一个非常糟糕的主意.因为下周你将拥有一个ü角色的用户.然后,有人会使用€货币值.然后一个西班牙语用户想要使用该¿角色.有多少replaceAll是你是否愿意购买?!?
看看如何编码/解码/重新编码字符串.
也许使用以下构造函数:
String(byte[] bytes, Charset charset)
Run Code Online (Sandbox Code Playgroud)
并查看Java Charset类:
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |