String Tokenizer - 2 var中的字符串

时间:2012-06-11 21:31:43

标签: java stringtokenizer

大家好我想用StringTokenizer在2 var中拆分这个字符串“Ronald Andrade”。

我有这段代码:

package domApli;
import java.util.StringTokenizer;

public class string {

public static void main(String[] args) {



    String paciente = "Ronald Andrade";
    String linea = paciente;
    StringTokenizer tokens = new StringTokenizer(linea);
    String a= "";
    while(tokens.hasMoreTokens()){
        a+=tokens.nextToken();
    }

    System.out.print(a);

}

}

我希望有这样的东西:

String x = "Ronald";
String y = "Andrade";

2 个答案:

答案 0 :(得分:3)

更好地使用String类中的split()方法,如下所示:

String[] data = paciente.split("\\s+");
String x = data[0];  // x = "Ronald"
String y = data[1];  // y = "Andrade"

出于所有实际目的,StringTokenizerdeprecated,您应该停止使用它:

  

StringTokenizer是一个遗留类,出于兼容性原因而保留,尽管在新代码中不鼓励使用它。建议任何寻求此功能的人都使用String的split方法或java.util.regex包。

答案 1 :(得分:1)

您发布的代码与输入结果相同。要获得所需的结果,请尝试使用此代码,

public static void main(String [] args){

String paciente = "Ronald Andrade";
String linea = paciente;
StringTokenizer tokens = new StringTokenizer(linea);
String x= "";
String y= "";
int i = 0;
while(tokens.hasMoreTokens()){
 if ( i = 0) {
         x = tokens.nextToken();
  }
  i = i+1;
 else
  {
      y = tokens.nextToken();
   }

}

System.out.print(x);
 System.out.print(y);

}

这是一种非常粗糙和低效的方式。如果您更喜欢分割功能会更好。你也可以使用substring函数。它们都很快。