如何在Java中拆分字符串而不丢失任何单词?
我正在使用eclipse for Java
我想在不丢失任何字符的情况下拆分输入行
例如,输入行是:
MAC 4 USD7MAIR 2014 USD1111IMAC 123 USD232MPRO 2-0-1-5
输出应为:
MAC 4 USD7,MAIR 2014 USD1111,IMAC 123 USD232,MPRO 2-0-1-5
(如果我使用"M"
等进行拆分,字符M
本身将被删除。)
我该怎么办
你可以在下面搜索框中键入要查询的问题!
我正在使用eclipse for Java
我想在不丢失任何字符的情况下拆分输入行
例如,输入行是:
MAC 4 USD7MAIR 2014 USD1111IMAC 123 USD232MPRO 2-0-1-5
输出应为:
MAC 4 USD7,MAIR 2014 USD1111,IMAC 123 USD232,MPRO 2-0-1-5
(如果我使用"M"
等进行拆分,字符M
本身将被删除。)
我该怎么办
# 1 楼答案
你需要积极地向前看
或
示例:
输出:
更新:
下面的正则表达式将根据在to
USD\d+
之后立即存在的边界分割输入,\d+
这里表示一个或多个数字输出:
(?<=...)
称为正向查找后断言。在支持可变长度查找(C#
)的语言中,可以使用(?<=\\bUSD\\d+)
。但不幸的是,java不支持可变长度查找。因此,我们定义了像allow\d{1,99}
数字这样的数字,从1到99表示看管USD
+数字到99
。和+
后面的}
称为所有格量词,它不会让正则表达式引擎回溯,从而匹配可能的最大值