根据给定的数字拆分字符串?

时间:2018-06-18 18:18:25

标签: java string

注意:不需要更新这个问题。我想办法自己解决它。

这是我到目前为止所做的:

public static String splitStringUserNumb(String message, int x){
  String result= "";


  //Something I have to do here but not sure how I can approach the problem
  int countToSplit = 0;

  for(int i =0; i < text.length(); i){

    if(countToSplit == SplitStringNum){
         result+= text.substring(i,)
     }



    countToSplit++;
    }



  return result;
}

2 个答案:

答案 0 :(得分:3)

你可以这样做:

 public static String splitStringUserNumb(String message, int x) {
    StringBuilder res = new StringBuilder();

    int start = 0;
    for(int i = x; i < message.length(); i += x){
      res.append(message, start, i);
      res.append(" ");
      start = i;
    }

    res.append(message, start, message.length());
    return res.toString();
  }

  public static void main(String[] args) {
    System.out.println(new SplitStringTest().splitStringUserNumb("200211992", 1));
    System.out.println(new SplitStringTest().splitStringUserNumb("200211992", 2));
    System.out.println(new SplitStringTest().splitStringUserNumb("200211992", 3));
    System.out.println(new SplitStringTest().splitStringUserNumb("200211992", 4));
    System.out.println(new SplitStringTest().splitStringUserNumb("", 3));
  }

输出:

2 0 0 2 1 1 9 9 2
20 02 11 99 2
200 211 992
2002 1199 2

答案 1 :(得分:0)

尝试这样的事情

其中;

文字是原始字符串, x是要分割的数字

public static String splitStringUserNumb(String text, int x){
    String result= "";

    for(int i =0; i < text.length() - x; i += x){
        result += text.substring(i,i+x);
    }

    return result;
}

如果你想知道为什么你需要做text.length() - x因为你不想在索引超出界限后拆分它