JAVA String 截取字符串的方法(含 substring 索引截取示例)

版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。觉得此文有用的,不嫌麻烦的,就留个言呐,或者点个赞呐,要是嫌麻烦呢,也麻烦点个赞嘛 https://blog.csdn.net/qq_40147863/article/details/88714465

String.substring( ):用于返回一个字符串的子串

用法如下:string.substring(from, to)
其中from指代要抽去的子串第一个字符在原字符串中的位置
to指代所要抽去的子字符串最后一个字符的后一位(这个参数可以不加)

下面就对 String.substring( ) 做举例:

1、string.substring(from):此时相当于从from位置截取到原字符串末尾

1 var s = "hello";
2 s.substring(1);//就是从下标为1的字符(这里是'e')开始起到字符串末尾全部截取,最终获得子串"ello"

2、string.substring(from, to):从from位置截取到to-1的位置

1 var s = "hello";
2 s.substring(13);//相当于从位置为1的字符截取到位置为2的字符,得到子串为:"el"

索引截取示例:

public static void main(String[] args) {
		String a="abcd-efg";
		String a1=a.substring(a.lastIndexOf("-")+1);
		String a2=a.substring(0,a.indexOf("-"));
		System.out.println(a1);//efg
		System.out.println(a2);//abcd
		String b="620303197010141212";
		if(b.length() == 18){
			String sex = b.substring(16, 17);
			System.out.println(sex);
			if(Integer.parseInt(sex)%2==0){
				enfore_sex.setText("女");
			}else{
				enfore_sex.setText("男");
			}
		}
 
		String c="陕C38205(黄)色";
		String c1=c.substring(c.lastIndexOf(")")+1);
		String c2=c.substring(0,c.indexOf("("));
		String c3=c.replace("(","");
		c3=c3.replace(")","");
		String c5=c.substring(c.indexOf("(")+1,c.indexOf(")"));
		System.out.println(c1);//色
		System.out.println(c2);//陕C38205
		System.out.println(c3);//陕C38205黄色
		System.out.println(c5);//黄
	}

String.substr( ):作用也是抽去一个子串

但是它和上面的String.substring( ) 有所不同

用法如下:string.substr(start, length)
start:指代截取子串开始下标
length:截取子串的长度(可省略)
1、string.substr(start, length):先举个例子来说明:

1 var s = “hello”;
2 s.substr(1,3);//从下标为1的字符开始截取3个字符长度,最后子串为:ell
补充两种特殊情况:
a、第二个参数超过了剩余字符长度

1 var s = “hello”;
2 s.substr(1,7)//这种情况下默认从,start位置到原字符串末尾,即返回:“ello”
b、第一个参数为负数
这种情况,从字符串尾部开始计算,-1指字符串最后一个字符,-2指倒数第二个字符…依次类推

1 var s = “hello”;
2 s.substr(-3,2)//即从倒数第三个字符开始起截取2个长度,获得:“ll”
2、string.substr(start):不带length参数,默认指代从start位置截取到字符串末尾

1 var s = “hello”;
2 s.substr(3)//“lo”

猜你喜欢

转载自blog.csdn.net/qq_40147863/article/details/88714465