【问题标题】:Split string with multiple delimiter including delimiters使用多个分隔符拆分字符串,包括分隔符
【发布时间】:2012-12-15 17:59:11
【问题描述】:

我想使用多个字符分隔符拆分字符串,但我也想存储分隔符。我的分隔符是()+-*/

例如,如果我有一个字符串

26+78(12*23)-16

我想得到

26

+

78

(

12

*

23

)

-

16

每一行作为一个单独的数组元素。

我认为你不能使用拆分功能来实现这一点。但是,我对 string-tokenizer 的试用也失败了。我怎样才能做到这一点?

【问题讨论】:

  • 考虑使用正则表达式。
  • 如果您考虑使用 UTF-8 字符编码,还有一种方法。
  • 如果是c#,应该是(?=([()*+-]))..但它是java..:P

标签: java regex stringtokenizer


【解决方案1】:

如果不是星期六晚上,我不会回答:

    String s1 = "26+78(12*23)-16";
    for(String s: s1.split("(?<=[()+*/-])|(?=[()+*/-])")){
        System.out.println(">> " + s);
    }

给予:

>> 26
>> +
>> 78
>> (
>> 12
>> *
>> 23
>> )
>> -
>> 16

【讨论】:

    猜你喜欢
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多