String类substring方法

踩了一个坑,记录一下String类的substring方法。

substring方法可以用来截取字符串,它有两种表现形式:

  • substring(int beginIndex)
  • substring(int beginIndex, int endIndex)

1、substring(int beginIndex)

从输入参数所指定的位置开始(包含该开始位置的字符),截取到字符串最后一个位置。具体示例如下:

public class Test {
	
	public static void main(String[] args) {
		
		String s = "天气有点热";
		String newString = s.substring(1);
		System.out.println(newString);
	}
}

输出结果:

气有点热

注意点:截取字符串的下标位置是从0开始计起。

2、substring(int beginIndex, int endIndex)

根据指定的起始位置和终止位置,截取字符串。包含起始位置的字符,但不包含终止位置的字符。具体示例如下:

public class Test {
	
	public static void main(String[] args) {
		
		String s = "天气有点热";
		String newString = s.substring(1,4);
		System.out.println(newString);
	}
}

‘天’‘气’‘有’‘点’‘热’这5个字符对应的下标位置分别是0、1、2、3、4。

根据这个方法的特点,我们可以知道,上面的代码截取的是从第1个位置到第4个位置的字符串,包含第1个位置的字符但不包含第4个位置的字符,所以输出结果是:

气有点

注意点:endIndex的最大值为字符串的长度,不能超过。

一个有意思的地方是,当我们截取substring(0,0)时,得到的是结果是"",并不会报错,而且也不阻碍后面代码的执行。示例证明如下:

public class Test {
	
	public static void main(String[] args) {
		
		String s = "天气有点热";
		String newString = s.substring(0,0);
		System.out.println(newString.equals(""));
		System.out.println("这行输出可以执行");
	}
}

结果如下图所示。
结果
实际编码过程中,如果遇到要截取字符串做判断,而正好截取方法的参数是以变量形式传入,那么当两个变量都从0开始取值时,substring(0,0)是个要注意的点。例如

for (int i = 0; i < n; i++) {
	for (int j = 0; j < m; j++) {
		String string = s.substring(i, j);
		if (/*string的判断条件*/) {
			//控制代码
		}
	}
}
  • 33
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值