当前位置: 首页 > 面试题库 >

如何替换Java中不可打印的Unicode字符?

班建义
2023-03-14
问题内容

以下内容将替换ASCII控制字符(的缩写[\x00-\x1F\x7F]):

my_string.replaceAll("\\p{Cntrl}", "?");

以下内容将替换所有ASCII不可打印字符(的缩写[\p{Graph}\x20]),包括带重音符号的字符:

my_string.replaceAll("[^\\p{Print}]", "?");

但是,两者均不适用于Unicode字符串。有谁能从Unicode字符串中删除不可打印字符的好方法?


问题答案:
my_string.replaceAll("\\p{C}", "?");

详细了解Unicode正则表达式java.util.regexPattern/ String.replaceAll支持他们。



 类似资料:
  • 问题内容: 有谁知道如何在Java中检测可打印字符? 一段时间(试用/错误)后,我得到了这种方法: 我通过KeyListener获取输入,然后按Ctr-“键”打印一个正方形。有了这个功能似乎还足够。 我在这里缺少一些字符吗? 问题答案: 看来这是“字体”的独立方式。

  • 我有一个数据库,它存储带有Unicode字符的视频游戏名称,但我不知道如何在将这些Unicode字符打印到超文本标记语言响应时正确转义它们。 例如,当我打印所有名为Uncharted的游戏时,我会得到以下信息: 但它应该显示以下内容: 我运行了一个快速的JavaScript转义函数,查看哪个Unicode字符™并发现它是。 如果我能得到字符以正确显示。我的猜测是以某种方式找到字符串中每个字符的十六

  • 接收字节数组(表示任何内容:某种有线格式、某种形式的编码数据、带有嵌入“文本”的二进制数据等)。我希望能够以以下形式打印数组: 作为十六进制字符串 作为“可打印”文本 第一种情况部分是出于调试的原因,但也可以在非调试模式下使用。第二种情况纯粹是出于调试的原因,并允许人类与其他信息源进行比较。 如果任何人有如何实现这一点的信息,我将非常感谢。

  • 问题内容: 我有一个字符串,该字符串是通过阅读HTML网页获得的,其中包含带有项目符号的项目符号,该项目符号带有“•”之类的符号。请注意,该文本是使用Python 2.7的网页的HTML来源。 我知道项目符号字符的unicode字符为,但是实际上如何用其他东西替换该unicode字符呢? 我试着做 但它似乎不起作用…我该怎么做? 问题答案: 将字符串解码为Unicode。假设它是UTF-8编码的:

  • 问题内容: 我需要替换Java字符串中的所有特殊控制字符。 我想问一下Google Maps API v3,而Google似乎不喜欢这些字符。 例如:http : //www.google.com/maps/api/geocode/json?sensor=false&address=NEW%20YORK%C2%8F 该URL包含以下字符:http : //www.fileformat.info/i

  • 问题内容: 如果您有一个带有unicode字符的字符串,则可以打印它,并获得未转义的版本: 但是如果我们有一个包含上面字符串的列表并打印出来: 您仍然会获得转义的字符序列。您如何才能使列表的内容不被转义,这可能吗?像这样: 另外,如果字符串是类型,那么您如何与上述相同? 问题答案: 打印字符串时,将获得对象方法的输出- 在这种情况下,该字符串不带引号。列表的方法不同,它创建一个包含打开和关闭的字符