字符串的常规操作

发布时间 2023-10-07 15:34:28作者: 非酋的懊悔

1.获取字符串长度

int len = str.length();

2.

int indexOf(String s):字符串s在指定字符串中首次出现的索引位置,如果没有检索到字符串s,该方法返回-1

int lastIndexOf(String s):字符串s在指定字符串中最后一次出现的索引位置,如果没有检索到字符串s,该方法返回-1;如果s是空字符串,则返回的结果与length方法的返回结果相同,即返回整个字符串的长度。

int idx = str.indexOf("a");//字符a在str中首次出现的位置
int idx = str.lastIndexOf("a");

3.获取指定位置的字符串

char charAt(int index)方法:返回指定索引出的字符

String str = "abcde";
char thischar = str.charAt(3);//索引为3的thischar是"d"

 4.

String substring()方法:实现截取字符串,利用字符串的下标索引来截取(字符串的下标是从0开始的,在字符串中空格占用一个索引位置)

substring(int beginIndex):截取从指定索引位置开始到字符串结尾的子串
substring(int beginIndex, int endIndex):从beginIndex开始,到endIndex结束(不包括endIndex)

String str = "abcde";
String substr1 = str.substring(2);//substr1为"cde"
String substr2 = str.substring(2,4);//substr2为"cd"

 5.去除字符串首尾的空格()

String trim()方法

String str = " ab cde ";
String str1 = str.trim();//str1为"ab cde"

6.字符串替换

String str = "abcde";
String newstr = str.replace("a","A");//newstr为"Abcde"

7.判断字符串的开始与结尾

boolean startsWith()

boolean startsWith(String prefix):判断此字符串是否以指定的后缀prefix开始
boolean startsWith(String prefix, int beginidx):判断此字符串中从beginidx开始的子串是否以指定的后缀prefix开始
boolean endsWith(String suffix):判断此字符串是否以指定的后缀suffix结束

String str = "abcde";
boolean res = str.startsWith("ab");//res为true
boolean res = str.StartsWith("bc",1);//res为true
boolean res = str.endsWith("de");//res为true

8. equals

boolean equals(Object anObject):将此字符串与指定的对象比较,区分大小写

String str1 = "abcde";
String str2 = str1;//字符串str1和str2都是一个字符串对象
String str3 = "ABCDE";
boolean isEqualed = str1.equals(str2);//返回true
boolean isEqualed = str1.equals(str3);//返回false
boolean isEqualed = str1.equlasIgnoreCase(str3);//返回true

9.比较两个字符串

int compareTo(Object o):把这个字符串和另一个对象比较。
int compareTo(String anotherString):按字典顺序比较两个字符串。
比较对应字符的大小(ASCII码顺序),如果参数字符串等于此字符串,则返回值 0;如果此字符串小于字符串参数,则返回一个小于 0 的值;如果此字符串大于字符串参数,则返回一个大于 0 的值。

String str1 = "abcde";
String str2 = "abcde123";
String str3 = str1;
int res = str1.compareTo(str2);//res = -3
int res = str1.compareTo(str3);//res = 0
int res = str2.compareTo(str1);//res = 3

10.类型转换

String转int型:

//第一种
int i = Integer.parseInt(String str)
//第二种
int i = Integer.valueOf(s).intValue();

String转long型:

long l = Long.parseLong(String str);

String转double型:

double d = Double.valueOf(String str).doubleValue();//doubleValue()不要也可
double d = Double.parseDouble(str);

int转string型:

//第一种
String s = String.valueOf(i);
//第二种
String s = Integer.toString(i);
//第三种
String s = "" + i;

 11.

String toLowerCase():将字符串中的所有字符从大写字母改写为小写字母
String toUpperCase():将字符串中的所有字符从小写字母改写为大写字母

String str1 = "abcde";
String str2 = str1.toUpperCase();//str2 = "ABCDE";
String str3 = str2.toLowerCase();//str3 = "abcde";

 

12.字符串分割
String[] split():根据匹配给定的正则表达式来拆分字符串,将分割后的结果存入字符数组中。

String[] split(String regex):regex为正则表达式分隔符, . 、 $、 | 和 * 等转义字符,必须得加 \\;多个分隔符,可以用 | 作为连字符。
String[] split(String regex, int limit):limit为分割份数

String str = "Hello World A.B.C"
String[] res = str.split(" ");//res = {"Hello","World","A.B.C"}
String[] res = str.split(" ",2);//res = {"Hello","World A.B.C"}
String[] res = str.split("\\.");//res = {"Hello World A","B","C"}

String str = "A=1 and B=2 or C=3"
String[] res = str.split("and|or");//res = {"A=1 "," B=2 "," C=3"}