对于编程来说,最好的学习方法就是看官方文档和别人编写的源代码,所谓站在巨人的肩膀上。
对于编程,基础才是重中之重,再好的算法再牛掰的应用也离不开if else,也离不开最基本的数据类型操作,而我的基础又不是很好,所以今天先把String字符串的常用操作总结一下,方便以后查看。
字符串查找
String提供了两种查找字符串的方法,即indexOf和lastIndexOf方法。
- indexOf(String s)
该方法用于返回参数字符串s在指定字符串中首次出现的索引位置,当调用字符串的indexOf()方法时,会从当前字符串的开始位置搜索s的位置;如果没有检索到字符串,返回-1
String str ="hello worid!";
int size = str.indexOf("e"); // 变量size的值是1
- lastIndexOf(String s)
该方法用于返回字符串最后一次出现的索引位置。当调用字符串的lastIndexOf()方法时,会从当前字符串的开始位置检索参数字符串str,并将最后一次出现str的索引位置返回。如果没有检索到字符串str,该方法返回-1.
如果lastIndexOf方法中的参数是空字符串"" ,,则返回的结果与length方法的返回结果相同。
获取指定索引位置的字符
使用charAt()方法可以将指定索引处的字符返回
String str="hello world";
char ch=str.charAt(4);//变量ch为o
获取子字符串
通过String类的substring()方法可对字符串进行截取。这些方法的共同点就是都利用字符串的下标进行截取。
- substring(int begin)
返回从指定的索引位置开始截取直到该字符串结尾的子串。
String str="hello world";
String substr=str.substring(3);//变量substr为“lo world”
- substring(int beginIndex, int endIndex)
beginIndex : 开始截取子字符串的索引位置,endIndex:子字符串在整个字符串中的结束位置。
String str="hello world";
String substr=str.substring(0,3);//变量substr为“hel”
去掉空格
trim()方法返回字符串的副本,忽略前导空格和尾部空格。
替换字符串
replace()方法可实现将指定的字符或字符串替换成新的字符或字符串,oldChar:要替换的字符或字符串,newChar:用于替换原来字符串的内容。
如果要替换的字符oldChar在字符串中重复出现多次,replace()方法会将所有oldChar全部替换成newChar。需要注意的是,替换的字符newChar的长度要与原字符串中要替换的字符长度一样。
String str="Hello world";
String substr=str.replace('H','h');//变量substr为“hello world”
判断字符串的开始与结尾
startsWith()方法与endsWith()方法分别用于判断字符串是否以指定的内容开始或结束。这两个方法的返回值都为boolean类型。
- startsWith(String prefix)
该方法用于判断当前字符串对象的前缀是否是参数指定的字符串。 - endsWith(String suffix)
该方法用于判断当前字符串是否以给定的子字符串结束。
String str="Hello world";
Boolean isStart=str.startsWith("He");
Boolean isEnd=str.endsWith("d");//isStart和isEnd全是true
按字典序比较字符串
- compareTo(String str)方法为按字典顺序比较两个字符串,该比较基于字符串中各个字符的Unicode值,按字典顺序将此String对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此String对象位于参数字符串之前,则比较结果为一个负整数;如果按字典顺序此String对象位于参数字符串之后,则比较结果为一个正整数;如果这两个字符串相等,则结果为0.
- compareToIgnoreCase(String str)
和conpareTo()一样,只是忽略了大小写。
String str="Hello world";
int substr=str.compareToIgnoreCase("Hello");
int substr1=str.compareTo("Hello");
判断字符串是否相等
- equals(String otherstr)
如果两个字符串具有相同的字符和长度,则使用equals()方法比较时,返回true。同时equals()方法比较时区分大小写。 - equalsIgnoreCase(String otherstr)
equalsIgnoreCase()方法与equals()类型,不过在比较时忽略了大小写.
String str="Hello world";
Boolean substr1=str.equals("Hello");
Boolean substr=str.equalsIgnoreCase("Hello");
字母大小写转换
- toLowerCase()
toLowerCase()方法可将字符串中的所有字符从大写字母改写为小写字母。 - toUpperCase()
toUpperCase()方法可将字符串中的小写字母改写为大写字母。
String str="Hello world";
String substr=str.toLowerCase();
String substr1=str.toUpperCase();
字符串分割
使用split()方法可以使字符串按指定的分隔字符或字符串对内容进行分割,并将分割后的结果存放在字符数组中。
- str.split(String sign);
sign为分割字符串的分割符,也可以使用正则表达式。
没有统一的对字符串进行分割的符号,如果想定义多个分割符,可使用符号“|”。例如,“,|=”表示分割符分别为“,”和“=”。 - str.split(String sign, in limit);
该方法可根据给定的分割符对字符串进行拆分,并限定拆分的次数。