1

大家好,我想使用 StringTokenizer 将这个字符串“Ronald Andrade”拆分为 2 个 var。

我有这个代码:

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";
4

2 回答 2

3

最好使用类中split()找到的方法String,如下所示:

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

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

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

于 2012-06-11T21:33:32.187 回答
1

您发布的代码将与输入相同。对于所需的结果,请尝试此代码,

公共静态无效主要(字符串[]参数){

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);

}

这是一种非常粗暴和低效的方式。如果您更喜欢拆分功能会更好。您还可以使用子字符串函数。他们两个都足够快。

于 2012-06-11T21:41:06.670 回答