1 import java.lang.String; 2 import java.util.StringTokenizer; 3 public class StringGetWord{ 4 /* 5 编程提取字符串"Java is a programming language"中的各个单词,并打印输出。 6 */ 7 public static void main(String[] args){ 8 String str="Java is a programming language"; 9 String a[]=GetWord1(str); 10 11 for(int i=0;i<a.length;i++){ 12 System.out.println("第"+i+"个单词"+a[i]); 13 } 14 15 GetWord2(str); 16 } 17 18 public static String[] GetWord1(String str){ 19 int num=0;int index=0;//num表示单词数,index表示空格的索引位置 20 do{ 21 ++num;//至少有一个单词 22 ++index;//至少有一个空格 23 index=str.indexOf(' ',index);//搜索空格的索引位置 24 }while(index!=-1);//若没有空格则结束循环 25 26 int end=0; 27 String strArray[] = new String[num]; 28 index=0; 29 for(int i=0;i<num;i++){ 30 end = str.indexOf(' ',index); 31 if(end==-1){ 32 strArray[i]=str.substring(index); 33 }else{ 34 strArray[i]=str.substring(index,end);//注意 substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。beginIndex - 起始索引(包括)。从0开始 endIndex - 结束索引(不包括)。 35 } 36 37 index=end+1; 38 } 39 40 return strArray; 41 42 } 43 44 //使用StringTokenizer 45 public static void GetWord2(String str){ 46 System.out.println("演示 StringTokenizer获得字符串中的单词:"); 47 StringTokenizer st = new StringTokenizer(str); 48 while(st.hasMoreTokens()){ 49 System.out.println(st.nextToken()); 50 } 51 52 } 53 54 } 55 56 57 58 /* 59 执行结果为: 60 第0个单词Java 61 第1个单词is 62 第2个单词a 63 第3个单词programming 64 第4个单词language 65 演示 StringTokenizer获得字符串中的单词: 66 Java 67 is 68 a 69 programming 70 language 71 */