栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

替换Unicode控制字符

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

替换Unicode控制字符

如果要删除“其他/控件Unipre”类别中的所有字符,可以执行以下操作:

    System.out.println(        "au0000bu0007cu008fd".replaceAll("\p{Cc}", "")    ); // abcd

请注意,这实际上是

'u008f'
从字符串中删除(以及其他)Unipre字符,而不是从转义的表单
"%8F"
字符串中删除。

如果黑名单不能很好地被一个Unipre块/类别捕获,则Java确实具有功能强大的字符类算术,可以使用相交,减法等。或者,您也可以使用否定白名单方法,即,您不必明确指定哪些字符是非法的,而是可以指定合法的,然后其他所有内容都将变为非法。

API链接

  • java.util.regex.Pattern
  • regular-expressions.info/Character类

例子

这是一个减法示例:

    System.out.println(        "regular expressions: now you have two problems!!" .replaceAll("[a-z&&[^aeiou]]", "_")    );    //   _e_u_a_ e___e__io__: _o_ _ou _a_e __o __o__e__!!

[…]
字符类
[aeiou]
匹配任何小写元音之一的东西。
[^…]
是一个 否定的 字符类。
[^aeiou]
匹配小写元音以外的 任何 一种。

[a-z&&[^aeiou]]
匹配项
[a-z]
减去
[aeiou]
,即所有小写辅音。

下一个示例显示了否定白名单方法:

    System.out.println(        "regular expressions: now you have two problems!!" .replaceAll("[^a-z]", "_")    );    //   regular_expressions__now_you_have_two_problems__

只有小写字母

a-z
是合法的;其他一切都是非法的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/573905.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号