【发布时间】:2016-12-19 03:14:56
【问题描述】:
所以我有一个包含非 unicode 字符的文本文件。 例如
"pr�s-*"
ESt Präs
我如何打印它们,但只有它们。我知道这个替换它的java方法
String resultString = currentLine.replaceAll("[^\\x00-\\x7F]", "");
我不想替换它们,我想找到它们并打印出来。
【问题讨论】:
-
您可以在您的正则表达式中使用
Matcher#find。或使用\P{ASCII}正则表达式 - 请参阅 ideone.com/jezqeN -
您能更好地解释一下非 Unicode 字符是什么意思吗?我认为 Java 中的所有字符都是 Unicode?span>
-
@OleV.V.确实。翻转,“非Unicode”是一个很奇怪的构造。尽管有一些“计算机存储的”字符还没有在 Unicode 字符集中,但 Unicode 的整个概念实际上是通用的。在任何情况下,Java 字符串数据类型中的字符都是 Unicode。也许您的意思是也属于其他特定字符集中的字符。在这种情况下,请说明该字符集是什么。或者,您的意思是 Unicode 中的字符和至少一个其他字符集?如果是这样,请列出所有正在考虑的字符集
标签: java string character-encoding