将字符串分解为子字符串,Android

Tom*_*eck 2 java string android stringtokenizer

我正在创建一个程序,让用户输入一个句子,然后,应用程序会将String分解为子字符串,其中空格是打破原始字符串的原因.

import java.util.StringTokenizer;


    public class whitespace {

    public static void main(String[] args) {

    String text = "supervisors signature tom hanks";
    int tokenCount; //number of words
    int idx=0; // index
    String words[]=new String [500]; // space for words


     StringTokenizer st=new StringTokenizer(text); // split text into segements
     tokenCount=st.countTokens(); 
     while (st.hasMoreTokens()) // is there stuff to get?
     {
         words[idx]=st.nextToken();
         idx++;
     }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止我有这个代码,虽然它作为常规Java程序工作正常,但while循环似乎导致应用程序进入无限循环.有任何想法吗?

npi*_*nti 5

我认为您可以使用String.split方法:

String text = "supervisors signature tom hanks";
String[] tokens = text.split("\\s+");
for (String str : tokens)
{
    //Do what you need with your tokens here.
}
Run Code Online (Sandbox Code Playgroud)

正则表达式将文本分成句子,无论遇到一个或多个空格字符.

根据页面,StringTokenizer已替换为String.split.