如何分割角色而不删除它(正则表达式)

时间:2014-03-10 20:36:47

标签: java regex string split

我想在某一点分割一个字符串,但保留我正在分割它的字符。例如:

Input:
a:b

Output:
a
:
b

无论如何我可以在Java的split()方法中使用它吗? 谢谢:))

3 个答案:

答案 0 :(得分:1)

您可以在Java中使用StringTokenizer类。

StringTokenizer stk = new StringTokenizer(inputStr,":", true);

这将返回令牌和分隔符。

答案 1 :(得分:0)

从我的脑海中快速解决方案

  1. 首先将其从您想要分割的角色中分割出来
  2. 加入另一个字符串,例如____:____
  3. 现在,再次使用____
  4. 拆分

    ____只是一个我确定字符串中不存在的字符串。您可以根据您的使用情况使用任何其他子字符串

    时间顺序复杂度O(3*N)

    例如

    您的字符串为a:b

    1. :

      拆分
        

      你得到的字符串数组是[“a”,“b”]

    2. 加入____:____

        

      你得到的字符串是a_ _b

    3. 再次使用____

      拆分
        

      你得到[“a”,“:”,“b”](所需的输出)

    4. 只是提出一个主意。

答案 2 :(得分:0)

Scanner  = new Scanner(System.in);
String input = s.next();
for (String str : input.split()) {
  System.out.println(str);
  System.out.println(":");
}