如何在不使用库函数的情况下将字符串拆分为单词

时间:2015-02-15 14:06:11

标签: java

我没有得到如何在不使用java中的库函数的情况下将字符串拆分成单词?

我的字符串:String str="My name is alex dsouza";

预期结果 - > "My","name","is","alex","dsouza"

我的代码:

for (int j = 0; j < str.length(); j++) {
    if ((str.charAt(j) != ' ')) {
        str2 += str.charAt(j);
    } else {
        str3[i] = str2;
        i++;
        str2 = "";
    }
}
for (i = 0; i <str3.length ; i++) {
    System.out.println(str3[i]);
}

实际结果:

  

我   名称   是   亚历克斯   空

3 个答案:

答案 0 :(得分:1)

试试这个:

  String str2="\"";
  for(int i=0; i<str.length(); i++){
  if(str.charAt(i)==' '){
  str2+="\",\"";}
  else{
 str2+=str.substr(i,i+1);
    }
   }
 str2+="\"";
System.out.println(str2);

答案 1 :(得分:0)

List words = new ArrayList<>();
String word = "";
String str = " My program in stackoverflow "; 

char[] strChars = str.toCharArray();

for(int i = 0; i < strChars.length; i++){
    if( i > 0 && strChars[i] != ' ') {
        word += strChars[i];
    }else if(strChars[i] == ' '){
        if (! "".equals(word)) {
            words.add(word);
        }
        word = "";
    }
}

答案 2 :(得分:0)

给出字符串:“我的名字是srikanth gowda”;

public class SplitString 
{

    public static void main(String[] args)
    {
        String str="my name is Srikanth gowda ";
        String str2="";
        int i=0;
        int count=0;
        for(int k=0;k<str.length();k++)
        {
           if (str.charAt(k)==' ')
               count++;
        }
        String[] str3=new String[count];
        for (int j = 0; j < str.length(); j++) 
        {
            if ((str.charAt(j) != ' ')) 
            {
               str2 += str.charAt(j);
            }
            else
            {
                str3[i] = str2;
                i++;
                str2 = "";
            }
        }
        for (i = 0; i <str3.length ; i++) 
        {
            System.out.println(str3[i]);
        }

    }

}