首先给定一个邮箱:2401510949@qq.com,我们怎么去取出邮箱里面的qq号呢?
1.String
第一个方法是对于这一串字符,我们可以通过string的split方法去对这个邮箱进行分割 ,以获取到我们想要的qq,代码为:
String z ="2401510949@qq.com";
String regex = "@";//作为split的分隔符
String z1[]=z.split(regex);//分割后得到的数组
System.out.println(z1[0]+" 第一个分割之后的字符");//第一个分割之后的字符
System.out.println(z1[1]+" 第二个分割之后的字符");//第二个分割之后的字符
具体实现为先设定分割符regex(怎么叫都行),然后创建一个数组去存放分隔之后的数组对象,最后通过对数组对象的获取去得到qq,获取之后的思路:可以用一个for循环去取出数组然后进行比对输出qq的,但这样也差不多,故不多做介绍.实现效果为
第二个方法我们可以使用string的replace方法去对指定的字符串进行替换,代码为
String regex1 = "@qq.com";//作为替换的字符
z.replaceAll(regex, ""); //字符串的替换
System.out.println( z.replaceAll(regex1, ""));
实现效果为:
2.Stringbuffer
同样对于Stringbuffer来说,也有replace方法。实现代码为:
String z ="2401510949@qq.com";
StringBuffer s = new StringBuffer();
s.append(z);//为stringbuff设置内容
System.out.println(s.reverse());//reverse方法翻转stringbuff对象
System.out.println(s.replace(0, 7, ""));//replace方法替换第一个到第七个字符
System.out.println(s.reverse()+" Stringbuff的replace方法");
//因为每一次使用reverse方法和replace方法都会直接改变stringbuff对象,
//所以完整语句为s.reverse().replace(0, 7, "").reverse()
其中先通过append为stringbuffer设置内容,然后对字符串进行翻转,因为qq字数不固定,而后面的@qq.com是固定的,所以进行一个翻转去通过replace去对第一个到第七个字符进行一个替换,然后再进行一个翻转得出正确的qq,实现效果为
而第二个方法为通过stringbuffer的delete方法去进行删除第一道第七个字符串,具体流程同replace,代码为
String z ="2401510949@qq.com";
StringBuffer Z = new StringBuffer();
Z.append(z);
System.out.println(Z.reverse().delete(0, 7).reverse()+" Stringbuff的delete方法");