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(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”

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

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

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


相关推荐

  • ts切片文件的合并

    ts切片文件的合并https://www.icourse163.org/中国大学MOOC的课程经历了几个变化:Adobe的FLASH格式(*.flv)逐渐替换为H5格式的(*.mp4),然后由于监管趋严,有些课程找不到了。比如我想下一期再看的《加密与解密》的课程就找不到了!使用方法一:ts视频合并工具(tsMergertools)v1.0.0….

    2022年4月3日
    40
  • 【Leetcode】Pascal's Triangle II

    【Leetcode】Pascal's Triangle II

    2022年1月1日
    46
  • python截图识别文字_Python文字截图识别OCR工具实例解析

    python截图识别文字_Python文字截图识别OCR工具实例解析#!/usr/bin/envpython3#-*-coding:utf-8-*-Author:MaYiDate:2020-03-02Name:test_ocrSoftware:PyCharmNote:用Python开发截图识别OCR小工具importkeyboard#用于监控键盘按下,触发事件(pipinstallkeyboard)importtim…

    2022年6月7日
    28
  • 记一次性能压测瓶颈排查

    记一次性能压测瓶颈排查

    2022年3月12日
    44
  • 进化算法_差分进化算法图解

    进化算法_差分进化算法图解神经进化正在复兴。主要的人工智能实验室和研究人员正在试验它,一丝新的成功点燃了更多的热情,能对于深度学习产生影响的新机遇正在出现。也许你在深度学习所有的激动人心的时刻并没有听到过神经进化,但它只是潜行

    2022年8月2日
    6
  • js中map遍历数组对象_js遍历数组

    js中map遍历数组对象_js遍历数组forEach()和map()都是遍历数组的方法,用法类似,但是还是有很大区别:相同点:      1.都是循环遍历数组中的每一项;      2.在遍历中执行匿名函数都可以接收三个参数,分别为:遍历过程的每一项、遍历序号(索引值)、原数组;      3.执行的匿名函数中的this都指向window。  不同点:      map():      根据遍历执行的匿名函数,对于原数…

    2022年9月2日
    2

发表回复

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

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