当前位置 > 主页 > 万和大讲堂 >


Desktop Search开发笔记 南京Java培训

2016-03-02 11:35

  在进行文本分析的时候我们经常需要过滤掉停用词,标点等,江苏万和小编给大家介绍一下如何识别并删除文本中的所有标点符号。下面是三个可行的正则表达式方案,童鞋们来试试吧。南京Java培训


  [java]


  (1) s.replaceAll( "\\p{Punct}", "" );


  (2) s.replaceAll("\\pP" , "");


  (3) s.replaceAll("\\p{P}" , "");


  (1)不能完全清楚所有标点,(2)和(3)等价都能完全清楚标点(中文和英文都能清除)


  需要注意的是,还是存在一些系统的不认为是标点的半角和全角符号无法清除,如下所示:


  [java] 南京Java培训


  +~$`^=|<>~`$^+=|<>¥×


  修改后:


  [java]


  (2) s.replaceAll( "[\\pP+~$`^=|<>~`$^+=|<>¥×]" , "");


  (3) s.replaceAll( "[\\p{P}+~$`^=|<>~`$^+=|<>¥×]" , "");


  上面的三个方案中给出的都是采用 Unicode 标点属性方式的正则表达式,可以去掉所有的标点符号,包括全角、半角、横排、竖排等的标点符号。南京Java培训


  注意一下, JDK 5 或以下的环境中不支持全角单引号对、双引号替换。在 JDK 6 中由于加入了Pi 和 Pf 两个 Unicode 子属性,因此就能替换掉。南京Java培训


  在 JDK 6 以下的版本中可以这样:


  [java]


  s = s.replaceAll("[\\pP‘’“”]", "");


最近开班 more>
  • Web前端开发
  • 软件测试
  • 软件测试预科班
  • AI大模型+全栈开发开班
  • 云原生精英班
  • 云网预科班
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第五期
  • Java全栈
  • CISP
  • HCIP-cloud
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCP 19C
  • RHCA
  • 6月9日
  • 5月21日
  • 5月14日
  • 6月9日
  • 5月7日
  • 5月26日
  • 5月19日
  • 5月12日
  • 6月3日
  • 6月9日
  • 随时开课
  • 7月12日
  • 5月19日
  • 5月19日
  • 5月7日
  • 5月10日
  • 5月24日
  • 5月24日
  • 随时开课
  • 随时开课
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入