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

String.substring():用于返回一个字符串的子串用法如下:string.substring(from,to)其中from指代要抽去的子串第一个字符在原字符串中的位置to指代所要抽去的子字符串最后一个字符的后一位(这个参数可以不加)下面就对String.substring()做举例:1、string.substring(from):此时相当于从from位置截取到原字…

大家好,又见面了,我是你们的朋友全栈君。

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(1,3);//相当于从位置为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”

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/124633.html原文链接:https://javaforall.net

赞 (1)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 爬虫工具_应用程序market

    爬虫工具_应用程序market一个简单的异步爬虫.私信太多,统一回答一下:关于异步函数的:1.真正派发任务的是consumer这个coroutine,所以也在内部做了并发控制.2.process_content用于获取html及保存到mysql.关于异步相关(asyncio)的:1.await相当于yieldfrom.2.await后面是一个coroutine,…

    2022年10月25日
  • 恋空 By whaosoft「建议收藏」

    恋空 By whaosoft「建议收藏」/序曲 如果那天,我没有遇见你。我想,我就不会感到如此痛苦、如此悲伤、如此难过、如此令人悲从中来了。但是,如果我没有遇见你。我也不会知道那么欢愉、那么温柔、那么相爱、那么温暖、那么幸福的心情了……噙着泪水的我,今天,依旧仰望着天空。 仰望着天空。I.虚幻的开始1 『哇~!!肚子超饿的啦~』期待已久的午休时间终于到了。美嘉一如往常地打开桌上的便当。来上学真的是麻烦事一大堆

    2022年7月11日
  • getmethods和getdeclaredmethods_java中的method

    getmethods和getdeclaredmethods_java中的methodMethodgetDeclaredMethod(Stringname,Class…parameterTypes)d返回一个Method对象,该对象反映此Class对象所表示的类或接口的指定已声明方法。Method[]getDeclaredMethods()返回Method对象的一个数组,这些对象反映此Class对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访…

    2022年9月23日
  • int型转换为long型遇到的一个小问题

    int型转换为long型遇到的一个小问题LeetCode上有一道题:给出一个数n,求(0,n)之间素数的个数。然后我采用埃拉托斯特尼筛法在每次找到一个素数时,将能被素数整除的数排除掉。但是,在进行int类型转换的时候会报:java.lang.ArrayIndexOutOfBoundsException代码如下:publicintcountPrimes(intn){boolea…

    2022年6月4日
  • 如何使用eclipse软件创建一个Java项目?[通俗易懂]

    如何使用eclipse软件创建一个Java项目?[通俗易懂]同学们在参加Java的时候老师肯定会教给你们如何去创建一个项目,这里怕有些同学没记住,所以单独为大家分享一篇如何使用eclipse软件创建一个Java项目教程,感觉有用的话收藏转发一下~eclipse创建Java项目教程1.首先我们需要打开eclipse软件,之后找到左上角的file选项卡,点击一下依次选择new-Javaproject选项,如图所示。2.随后会打开一个新建页面,在里面我们找到箭头所示的projectname处,在里面填写我们的Java项目名称,直接选择finish即可完成创建。

    2022年7月9日
  • 双击文本没有被选中

    双击文本没有被选中

    2022年1月10日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号