黑马程序员技术交流社区
标题:
关于字符串String类实现方法的一点小疑问
[打印本页]
作者:
岳民喜
时间:
2012-3-30 12:33
标题:
关于字符串String类实现方法的一点小疑问
本帖最后由 岳民喜 于 2012-3-30 12:38 编辑
在看视频的时候 ,在讲字符串String类 里面的方法中有一方法是:String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。
String s = "abcdef";
sop(s.substring(2,4));//包含头,不包含尾。s.substring(0,s.length());
//运行结果是cd
毕老师的例子中建立了一个 对象 String s = "zhagnsa,lisi,wangwu"; 说如果要提取zhangsan名字,可以sop(s.substring(0,','));提取lisi名字,可以从第一个','开始到下一','
代码sop(s.substring(',',',')), 在这个例子中时可以的实现的
问题:
如果我建立的对象不止3个名字,如String s = "zhagnsa,lisi,wangwu,jialiu,zhenqi,heiba,baijiu" ,那我怎么提取zhenqi的名字,因为它也是两个','之间,
如果还是这个代码sop(s.substring(',',','))肯定不行,得指定是第几个逗号到第几个逗号之间的内容吧,那这第几个的代码怎么写?(有点钻牛角尖,这种方法显然比较低效,
还要去数是第几个逗号,呵呵,肯定有其他容易又简单的方法,我只是想知道这种方法能不能实现提取我想要的名字,多谢大虾们指点!)
另外:都还有些什么方法能实现名字全部提取呢?
作者:
郑洋洋
时间:
2012-3-30 12:43
你把逗号当成一个字符就行,知道substring方法,包含头不包含尾就行
另外,你的s.substring(0,s.length());也是错误的写法,字符串长度是s.length(),你的最大索引是s.length()-1
作者:
izwj
时间:
2012-3-30 12:46
//这种方法可以去到zhenqi
class Test
{
public static void main(String[] args)
{
String s = "zhagnsa,lisi,wangwu,jialiu,zhenqi,heiba,baijiu";
String[] str=s.split(",");
for(int i=0;i<str.length;i++)
{
if("zhenqi".equals(str[i]))
System.out.println(str[i]);
}
}
}
作者:
秦超
时间:
2012-3-30 12:49
我这里想到一个方法,可能不是最简单的,但是思路很简单
可以先通过“,”来拆分字符串,然后遍历新的字符串数组,遍历到你要找的名字的时候,就提取出来
String s = "zhagnsa,lisi,wangwu,jialiu,zhenqi,heiba,baijiu"
String [] str=s.split(','); //通过逗号来拆分字符串
for(int i=0;i<str.length;i++)
{
if(str[i].equals("zhenqi"))
return str[i];
}
作者:
何万县
时间:
2012-3-30 12:51
通过String的spit方法,把字符串分成字符串数组,分离的规则是逗号!
再比较数组中元素和zhengqi是否相等!如楼上的代码!
class Test
{
public static void main(String[] args)
{
String s = "zhagnsa,lisi,wangwu,jialiu,zhenqi,heiba,baijiu";
String[] str=s.split(",");
for(int i=0;i<str.length;i++)
{
if("zhenqi".equals(str[i]))
System.out.println(str[i]);
}
}
}
作者:
李井山
时间:
2012-3-30 12:51
split方法是切割文件的,如String s = "zhagnsa,lisi,wangwu,jialiu,zhenqi,heiba,baijiu" 可以就可以用","切割文件,split方法很方便和substring方法
配合使用,就能满足很多问题了。
作者:
newlaw2013
时间:
2012-3-30 13:11
1.如是单纯的想的到特定名字的提取下面的代码可以实现:
String s = "zhagnsa,lisi,wangwu,jialiu,zhenqi,heiba,baijiu";
int startIndex = s.indexOf("zhenqi");
int endIndex = s.indexOf(",", startIndex);
System.out.println(s.substring(startIndex, endIndex));
2.提取全部
String[] str=s.split(",");
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2