java substring函数提取出5个单词

有一个字符串stringstr="Ilikeappleandpear";我想用substring函数分别提取出这5个单词,请问如何实现?请举例说明,谢谢谢谢回复!如果字符... 有一个字符串 string str="I like apple and pear";
我想用substring函数分别提取出这5个单词,请问如何实现?
请举例说明,谢谢
谢谢回复!如果字符串里的文字是随机的要如何解决呢?
展开
 我来答
wskfhvhc
2013-10-13 · TA获得超过692个赞
知道小有建树答主
回答量:307
采纳率:66%
帮助的人:301万
展开全部
public class Test {
public static void main(String[] args) {
String str = "i like apple and pear";
String temp = str.substring(0, 1);
String temp1 = str.substring(2, 6);
String temp2 = str.substring(7, 12);
String temp3 = str.substring(13, 16);
String temp4 = str.substring(17, 21);
System.out.println(temp + "," + temp1 + "," + temp2 + "," + temp3 + ","
+ temp4);
}
}

 如果文字是随机的,可以通过String 的split()方法,以空格为分隔符,将文字变成字符数组,再输出:

public class Test {
public static void main(String[] args) {
            String str = "a b a df d a f da fa d ";
            String[] arr = str.split(" "); //返回数组arr
            for(String s:arr)
                System.out.println(s);
        }
}

 如果一定要求要用substring()来实现,必须用indexOf()返回空格的位置,再用substring返回具体字符:

public class Test {
public static void main(String[] args) {
String str = "i like  apple and pear";
find(str);
}

public static void find(String s) {
int i = s.indexOf(" ");
String temp;
if (i != -1) {
temp = s.substring(0, i);
System.out.println(temp);
if (s.length() > 0) {
String new_s = s.substring(i).trim();
find(new_s);
}
}else{
System.out.println(s);
}
}
}

 已测试,如下图:

6473357
2013-10-13 · TA获得超过339个赞
知道小有建树答主
回答量:465
采纳率:80%
帮助的人:61.9万
展开全部
用 str.split("")多好,里面写 正则
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友59eacd4
2013-10-13 · TA获得超过460个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:113万
展开全部
楼主为什么要用substring来提取单词呢。。。。可以将字符串按照空格分隔。。
string temp[]=str.split(" ");这个temp数组里面就是所有的单词了。。也可以解决
文字随机情况
追问
谢谢,我知道split可以实现,但现在就要求使用substring~
追答
public class T {
public static void main(String[] args) {
String s = "you exisit in my mind all is well";
int index = 0;// 用来记录当前的指针
while (index < s.length()) 
{
           //开始提取单词
int i=index;//这个用来记录单词的开始位置
while(s.substring(index,index+1).equals(" ")==false&&index<s.length()-1)
{
//System.out.println(index);
index++;
}
index++;
System.out.println(s.substring(i,index));
}
}
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式