Java 基础知识: Java 字符串的处理(2)
6. Java 提取子字符串(substring())
String 类的 substring() 方法用于对字符串进行提取, 该方法主要有两种重载形式, 下面分别介绍.
1. substring(int beginIndex) 形式
此方式用于提取从索引位置开始至结尾处的字符串部分. 调用时, 括号中是需要提取字符串的开始位置, 方法的返回值是提取的字符串. 例如:
- String str="我爱 Java 编程";
- String result=str.substring(3);
- System.out.println(result);// 输出: Java 编程
2. substring(int beginIndex,int endIndex) 形式
此方法中的 beginIndex 表示截取的起始索引, 截取的字符串中包括起始索引对应的字符; endIndex 表示结束索引, 截取的字符串中不包括结束索引对应的字符, 如果不指定 endIndex, 则表示截取到目标字符串末尾. 该方法用于提取位置 beginIndex 和位置 endIndex 位置之间的字符串部分.
这里需要特别注意的是, 对于开始位置 beginIndex, Java 是基于字符串的首字符索引为 0 处理的, 但是对于结束位置 endIndex,Java 是基于字符串的首字符索引为 1 来处理的, 如图 1 所示.
图 1 字符串中的字符索引
注意: substring() 方法是按字符截取, 而不是按字节截取.
7.Java 分割字符串(spilt())
String 类的 split() 方法可以按指定的分割符对目标字符串进行分割, 分割后的内容存放在字符串数组中. 该方法主要有如下两种重载形式:
- str.split(String sign)
- str.split(String sign,intlimit)
其中, str 为需要分割的目标字符串; sign 为指定的分割符, 可以是任意字符串; limit 表示分割后生成的字符串的限制个数, 如果不指定, 则表示不限制, 直到将整个目标字符串完全分割为止.
从输出的结果可以看出, 当指定分割字符串后组成的数组长度 (大于或等于 1) 时, 数组的前几个元素为字符串分割后的前几个字符, 而最后一个元素为字符串的剩余部分.
例如, 在该实例中, 指定了 arr2 的长度为 3, 而字符串 Colors 分割后组成的数组长度为 5. 因此会将 arr2 中的前两个元素赋值为 Colors 分割后的前两个字符, arr2 中的第 3 个元素为 Colors 字符串的后 3 个字符组成的字符串.
8.Java 截取新闻标题
- String words="hello java,hello php";
- String newStr=words.replaceFirst("hello","你好");
- System.out.println(newStr);// 输出: 你好 java,hello PHP
- String words="hello java,hello php";
- String newStr=words.replaceAll("hello","你好");
- System.out.println(newStr);// 输出: 你好 java, 你好 PHP
- String str1="abc";
- String str2=newString("abc");
- String str3="ABC";
- System.out.println(str1.equals(str2));// 输出 true
- System.out.println(str1.equals(str3));// 输出 false
- String str1="abc";
- String str2="ABC";
- System.out.println(str1.equalsIgnoreCase(str2));// 输出 true
来源: http://www.jianshu.com/p/95473c3c4398