方法一:通过split()
此方法返回的是一个字符串数组类型。
1.只传一个参数:split(String regex)
将正则传入split(),根据给定正则表达式的匹配拆分此字符串。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。
public class day1011 {
public static void main(String[]args){
String str="hsybcyusdgyg@163.com";
String[] str1=str.split("y");
for(int i=0;i<str1.length;i++){
System.out.println(str1[i].toString());
}
}
}
运行结果:
hs
bc
usdg
g@163.com
2.传入两个参数:split(String regex,int limit)
regex -- 正则表达式分隔符。
limit -- 分割的份数。
将正则和份数传入split()。根据给定正则表达式的匹配和想要分割的份数来拆分此字符串。
public class day1011 {
public static void main(String[]args){
String str="hsybcyusdgyg@163@com";
String[] str1=str.split("@",2);
for(int i=0;i<str1.length;i++){
System.out.println(str1[i].toString());
}
}
}
运行结果:
hsybcyusdgyg
163@com
方法二:通过subString()方法来进行字符串截取
1、只传一个参数:subString(int beginIndex)
将字符串从索引号为beginIndex开始截取,一直到字符串末尾。(注意索引值从0开始);
public class day1011 {
public static void main(String[]args){
String str="hsybcyusdgyg@163@com";
String st2=str.substring(5);
System.out.println(st2);
}
}
运行结果:
yusdgyg@163@com
2、传入两个参数:substring(int beginIndex, int endIndex)
从索引号beginIndex开始到索引号endIndex结束(返回结果包含索引为beginIndex的字符不包含索引endIndex的字符),如下所示:
public class day1011 {
public static void main(String[]args){
String str="hsybcyusdgyg@163@com";
String st2=str.substring(2,7);
System.out.println(st2);
}
运行结果:
ybcyu
3、根据某个字符截取字符串
这里根据”@”截取字符串(也可以是其他子字符串)
public class day1011 {
public static void main(String[]args){
String str="hsybcyusdgyg@163@com";
String st2=str.substring(2,str.indexOf("@"));
System.out.println(st2);
}
}
运行结果:
ybcyusdgyg
欢迎大家批评指正,指出问题,谢谢!