【问题标题】:How to split a String at all special characters except dot?如何在除点之外的所有特殊字符处拆分字符串?
【发布时间】:2015-10-27 16:31:01
【问题描述】:
String line="word,1.2;3.1!4.5";

我应该在Split(...) 中使用什么正则表达式来删除除点以外的所有特殊字符? (我需要点来保持双精度和浮点值)

【问题讨论】:

    标签: java regex split special-characters


    【解决方案1】:

    你可以试试这个,

    string.split("[^.\\w]");
    

    string.split("[^.a-zA-Z\\d]");
    

    如果要对一个或多个字符应用拆分,请在字符类后添加+

    【讨论】:

    • 一个普遍的问题,你不需要逃避。 (dot) ?
    • 不,点松散是 char 类内部的特殊含义。
    【解决方案2】:
    (?!\\.)\\W
    

    你也可以使用这个。查看演示。

    https://regex101.com/r/cD5jK1/4

    【讨论】:

      【解决方案3】:

      试试这个代码

      line.split("[.\w]");
      

      【讨论】:

      • 感谢您的回答, "[^.a-zA-Z\\d]" 或 "[^.\\w]" 效果很好,但是 String line = "\\//word,1.2;3.1!4.5?!!!!^^*%$^$^$"; 但对于 String[] lineSplited = line.split(pattern);其中String pattern="[^.a-zA-Z\\d]"String pattern="[^.\\w]",我有这个输出:lineSplited : lineSplited : lineSplited : lineSplited : word lineSplited : 1.2 lineSplited : 3.1 lineSplited : 4.5 请如何处理\\ 或//?再次感谢您
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-16
      • 2013-02-09
      • 2022-11-13
      • 2017-04-05
      • 1970-01-01
      相关资源
      最近更新 更多