Извлечь текст строки в другую строку - PullRequest
2 голосов
/ 24 января 2012

Я получил такую ​​строку:

String text = number|name|url||number2|name2|url2

Теперь я написал цикл

int initialiaze = 0;
for(i = initialize; i > text.length(); i++) {
    //do the work
}

В этом цикле я хочу извлечь numberк одной строке, name к одной строке, url к одной строке, и если я достигну ||, сделайте действие (например, вставьте эту три строки в БД), если это действие выполнено, снова запустите извлечение number2,name2 и url2 в строку и выполните действие.

Возможно ли это?Можете ли вы сказать мне, как?Я не понимаю.

Ответы [ 3 ]

6 голосов
/ 24 января 2012

Вы можете использовать .split() метод для строк.

String[] bigParts = myString.split("\\|\\|");
for(String part : bigParts)
{
    String[] words = part.split("\\|");
    //save to db or what you want
}
3 голосов
/ 24 января 2012

для вашего случая

    StringTokenizer stPipe = null;
    StringTokenizer stDblPipe = null;
    String firstPipeElement=null;
    stPipe = new StringTokenizer(text, "|");        
    if (stPipe.hasMoreElements())
    {
      firstPipeElement= stPipe.nextElement().toString();
    .......
    if(firstPipeElement.equals("||"))
      {
      stDblPipe = new StringTokenizer(firstPipeElement , "||");
   .....

      }
    }

надеюсь, это поможет

1 голос
/ 24 января 2012

Ява не мой язык, но стоит попробовать,

String text = number|name|url||number2|name2|url2
String[] temp;
String[] temp2;
int i ;
temp = text.split("\\|\\|")
for(i=0;i<temp.length();i++){
 temp2 = temp[i].split("\\|");
 String no = temp2[0];
 String name = temp2[1];
 String url = temp2[2];

 // Do processing with no, name, url

}

Надеюсь, это поможет

...