2015-07-21 2 views
-3

У меня есть строки и хочу разделить его после того, как ряд символов ...Java - разделение после количества символов?

Пример кода:

//This is what I have: 
    String text = "12345678"; 
    List<String> tmpListFirst = new LinkedList<>(); 
    List<String> tmpListSecond = new LinkedList<>(); 
    int splitAfter = 3; //split after the second character (this value is variable) 

    //The result should look like this: 
    tmpListFirst.get(0) //== 678 
    tmpListFirst.get(0) //== 12345 
+1

Посмотрите на [ 'подстроки() '] (http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#substring (int)) метод класса String – CubeJockey

+1

Вы сказали, что раскол после 3, но ваш вывод указывает, что вы хотите, чтобы он раскололся после 5 – UnknownOctopus

ответ

3
String text = "12345678"; 
int splitAfter = 3; 
List<String> tmpListFirst = new LinkedList<>(); 
List<String> tmpListSecond = new LinkedList<>(); 
tmpListFirst.add(text.substring(0, splitAfter)); 
tmpListSecond.add(text.substring(splitAfter)); 

что, если вы хотите, чтобы значения, сохраненные в список. В противном случае они могут быть действительно сохранены в Строках, только делая String s1 = text.substring(0, splitAfter); и String s2 = text.substring(splitAfter);

+0

Хороший ответ. 1+ И извинения перед вашим предыдущим ответом. Оригинальный плакат действительно хотел отобразить графику в окне, поэтому извините за проголосовавший, он был неправильно помещен. –

1
String text = "12345678"; 
text = text.substring(0, 1) //will print 1 
text = text.substring(3, text.length()) //will print 45678 
text = text.substring(3) //will also print 45678 

должно быть именно то, что вы ищете. Будет намного проще, чем при использовании метода String.split() после п символов

0

если я понимаю правильно, вы хотите сделать что-л, как

String text = "12345678"; 
System.out.println(text.substring(0, 5)); 
System.out.println(text.substring(5)); 

//-----------output------------- 
12345 
678 
1

Попробуйте этот код. это даст вам точно ваши желаемые результаты:

String text = "12345678"; 
List<String> tmpListFirst = new LinkedList<>(); 
List<String> tmpListSecond = new LinkedList<>(); 
int splitAfter = 5; //split after the second character (this value is variable) 

//The result should look like this: 
tmpListFirst.add(text.substring(splitAfter));//678 
tmpListSecond.add(text.substring(0, splitAfter)); //== 12345 

System.out.println(tmpListFirst.get(0)); 
System.out.println(tmpListSecond.get(0)); 

Если вам не нужно использовать список или LinkedList, то программа будет очень просто, как: -

String text = "12345678"; 
int splitAfter = 5; //split after the second character (this value is variable) 

System.out.println(text.substring(splitAfter)); //678 
System.out.println(text.substring(0, splitAfter)); //12345 
Смежные вопросы