在Java开发中,字符串操作是比较常见的操作,比如需要截取字符串中的一部分内容。substring()方法是Java中常用的截取子字符串的方法。substring()方法可以根据指定的起始位置和结束位置截取原字符串的一部分内容,返回一个新的字符串。
一、substring()方法的基本用法
substring()方法有两种重载形式,分别是:
public String substring(int beginIndex) public String substring(int beginIndex, int endIndex)
当只有一个参数时,表示从指定位置开始一直截取到字符串的末尾。例如:
String str = "hello java"; String newStr = str.substring(2); //截取结果: lo java
当有两个参数时,第一个参数表示起始位置(从0开始),第二个参数表示结束位置(不包含结束位置的字符)。例如:
String str = "hello java"; String newStr = str.substring(2, 7); //截取结果: lo ja
上面的代码中,返回的字符串包含索引为2、3、4、5、6的字符,不包含索引为7的字符。
二、使用substring()方法截取字符串并转成整数
在有些场景下,我们需要把截取到的字符串转成整数类型。比如从一个长度为4的字符串中截取后两位作为整数进行计算。下面是示例代码:
String str = "1234"; int num = Integer.parseInt(str.substring(2)); //num的值为34
可以看到,我们首先截取了字符串的后两位,然后使用Integer类的parseInt()方法将字符串转成整数类型。
三、使用substring()方法截取中文字符
在处理中文字符时,由于中文字符占用2个字节,使用substring()方法可能会出现乱码问题。下面是解决乱码问题的示例代码:
String str = "我爱Java编程"; String newStr = str.substring(1, 4); //截取结果:爱Java
上面的代码截取了字符串中的“我爱Java”部分。由于中文字符是占用2个字节的,因此需要对起始位置和结束位置进行调整。如果直接从0开始截取,可能会出现乱码的情况。
四、使用substring()方法截取字符串数组
有时候我们需要将一个字符串按照指定的分隔符进行分割,得到一个字符串数组,然后对数组中的每个元素都进行相同的处理。下面是示例代码:
String str = "hello, java, world"; String[] strs = str.split(", "); for(String s : strs) { String newStr = s.substring(2,5); //截取结果:llo, ava, orl }
上面的代码首先使用split()方法按照“, ”分割字符串,得到了一个包含三个元素的字符串数组。然后在for循环中对每个元素都进行了子字符串的截取操作。
总结
通过上面的介绍,我们可以看到,在Java中使用substring()方法可以方便地截取字符串,并且还可以对截取到的子字符串进行其他类型的转换或处理。但在使用substring()方法时,需要注意起止位置的索引,避免出现乱码的问题。