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

分割多个定界符,但将定界符保留在同一字符串上

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

分割多个定界符,但将定界符保留在同一字符串上

使用更强大的

Matcher
功能代替
String.split
。下面的代码应该可以使用,但是尚未进行优化:

Pattern pattern = Pattern.compile("\d*(\$|£)");String input = "1£23$456$£$";Matcher matcher = pattern.matcher(input);List<String> output = new ArrayList<>();while (matcher.find()) {    output.add(matcher.group());}

打印

output.toString()
产生:

[1£, 23$, 456$, £, $]


更新的要求:

  1. 还包括分隔符:
    +
    -
    *
    ,和
    /
  2. 非定界符字符只是在定界符前带有可选空格的数字。
  3. 任何此类空格都是值的一部分,而不是分隔符本身。

使用正则表达式:

\d*\s*[-\+\*/\$£]

该模式,具有给定的输入:

1£23$456$£$7+89-1011*121314/1 £23 $456 $ £ $7 +89 -1011 * 121314 /


将生成此输出:

[1£, 23$, 456$, £, $, 7+, 89-, 1011*, 121314/, 1 £, 23 $, 456 $, £, $, 7 +,89 -, 1011 *, 121314 /]



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

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

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