Java-String类常用方法汇总
Posted Tan.]der
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java-String类常用方法汇总相关的知识,希望对你有一定的参考价值。
1.获取字符串长度
int length();
2.获取指定位置上某个字符
char charAt(int index);
3.获取指定字符在字符串中位置
int indexOf(int ch);//返回的是ch在字符串中第一次出现的位置
int indexOf(int ch, int fromIndex);//从fromIndex指定位置开始,获取ch在字符串中出现的位置
int indexOf(String str);//返回的是str在字符串中第一次出现的位置
int indexOf(String str, int fromIndex);//从fromIndex指定位置开始,获取str在字符串中出现的位置
int lastIndexOf(int ch);//返回的是str在字符串中最后一次出现的位置
4.判断字符串中是否包含某一个子串
boolean contains(str);//该方法只判断是否包含
特殊之处:indexOf(str);//可以索引str第一次出现位置,如果返回-1.表示该str不在字符串中存在
if(str.indexOf("aa")!=-1)//该方法即可以判断是否包含,也可以获取出现的位置
5.判断字符串是否为空
boolean isEmpty(): //原理就是判断长度是否为0.切记" "也是char并不为空
6.判断字符串是否是以指定内容开头
boolean startsWith(str);
7.字符串是否是以指定内容结尾
boolean endsWith(str);
8.判断字符串内容是否相同。复写了Object类中的equals方法
boolean equals(str);
9.判断内容是否相同,并忽略大小写
boolean equalsIgnoreCase();
10.将字符数组转换成字符串
构造函数:
String(char[])
String(char[],offset,count);//将字符数组中的一部分转成字符串
静态方法:
static String copyValueOf(char[]);
static String copyValueOf(char[] data, int offset, int count)
static String valueOf(char[]):
11.将字符串转成字符数组
char[] toCharArray();
12.将字节数组转成字符串
String(byte[])
String(byte[],offset,count):将字节数组中的一部分转成字符串。
13.将字符串转成字节数组
byte[] getBytes();
14.将基本数据类型转成字符串
static String valueOf(int)
static String valueOf(double)
String str = 123 + "";
特殊:字符串和字节数组在转换过程中,是可以指定编码表的。
15. 替换指定字符
String replace(oldchar,newchar);//返回替换后的字符串
16.切割
String[] split(regex);//返回一个string数组
17.子串。获取字符串中的一部分
String substring(begin);//包含起点到结尾
String substring(begin,end);//从起点到end(不包括end下标)
18.将字符串转成大写或则小写
String toUpperCase();//大写
String toLowerCase();//小写
19.将字符串两端的多个空格去除
String trim();
20.对两个字符串进行自然顺序的比较
int compareTo(string);//-1,0,1分别代表靠前,相等,靠后.
21.使用指定的格式字符串和参数返回格式化的字符串
/**
第一个参数为字符串格式,后面的参数可以任意多个,用于填充第一个参数中的格式控制符,最后返回完整的格式化后的字符串
格式控制符以%开头,常用的有以下几种
%s- 接受一个字符串并按照给定的参数格式化该字符串
%d- 接受一个数字并将其转化为有符号的整数格式
%f- 接受个数字并将其转化为浮点数格式(小数),默认保留 6 位小数,不足位用 0 填充
如:%0.3f 中的小数点右边的数字表示小数点后面保留多少位,小数点前面的数字表示位数不足时的填充数,通用用0填充
%x- 接受一个数字并将其转化为小写的十六进制格式
如:%08X 第1个数字0表示不足位数时的填充数,通常用0填充。第2个数字8表示格式化成多少位
例如:str = string.format("@x%08X",348)
%X- 接受一个数字并将其转化为大写的十六进制格式
%c- 接受一个数字,并将其转化为 ASCII码表中对应的字符
%d,%i - 接受一个数字并将其转化为有符号的整数格式
%o- 接受一个数字并将其转化为八进制数格式
%u- 接受一个数字并将其转化为无符号整数格式
*/
static String format(String format, Object... args)
Java-String类学习笔记
String类位于java.lang包下,String类代表字符串,字符串是常量,它们的的值在创建后不能更改;为了支持可变的字符串,Java还为我们提供了StringBuilder和StringBuffer类。
1. String类中常用方法
a. 与索引、长度相关的方法
返回值类型 | 函数名 | 功能 |
char | charAt(int index) | 返回指定索引处的 char 值。 |
String | subString(int beginIndex,int endIndex) | 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从beginIndex 处开始,直到索引 endIndex - 1 处的字符。 |
int | indexOf(int ch) | 返回指定字符在此字符串中第一次出现处的索引。 |
int | indexOf(String str) | 返回指定子字符串在此字符串中第一次出现处的索引。 |
int | lastIndexOf(int ch) | 返回指定字符在此字符串中最后一次出现处的索引。 |
int | lastIndexOf(String str) | 返回指定子字符串在此字符串中最右边出现处的索引。 |
int | length() | 返回此字符串的长度。 |
boolean | isEmpty() | 当且仅当 length() 为 0 时返回 true。 |
注意:在执行subString方法时,会创建新的字符数组,而不是使用现存的字符数组。
b. 与比较、包含、转换相关的方法
返回值类型 | 函数名 | 功能 |
String | concat(String str) | 将指定字符串连接到此字符串的结尾。 |
boolean | contains(charsequence s) | 当且仅当此字符串包含指定的 char 值序列时,返回 true。 |
boolean | endWith(String suffix) | 测试此字符串是否以指定的后缀结束。 |
boolean | startsWith(String prefix) | 测试此字符串是否以指定的前缀开始。 |
int | compareToIgnoreCase(String str) | 按字典顺序比较两个字符串,不考虑大小写。 |
boolean | equalsIgnoreCase(String anotherString) | 将此 String 与另一个 String 比较,不考虑大小写。 |
byte[] | getBytes(charset charset) | 使用给定的 charset 将此 String 编码到 byte 序列,并将结果存储到新的 byte 数组。 |
char[] | toCharArray() | 将此字符串转换为一个新的字符数组。 |
String | toUpperCase() | 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。 |
String | toLowerCase() | 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。 |
c. 与正则表达式相关的方法
返回值类型 | 函数名 | 功能 |
String | matches(String regex) | |
String | replaceAll(String regex,String replacement) | 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 |
String | replaceFirst(String regex,String replacement) | 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。 |
String[] | split(String regex) | 根据给定正则表达式的匹配拆分此字符串。 |
String | trim() | 返回字符串的副本,忽略前导空白和尾部空白。 |
String | replace(char oldchar,char newchar) | 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。 |
1 public static void main(String[] args) { 2 // 去除字符串的前导空白和尾部空白 3 String str = " abc ed f "; 4 System.out.println(str); 5 System.out.println(str.trim()); 6 // 将字符串用空白字符分割开来 7 String[] strArray = str.split("\\\\s+"); 8 System.out.println(strArray.length); 9 for(String s:strArray){ 10 System.out.println(s); 11 } 12 }
运行结果:
2. 题外话
a. String对象一旦创建不可改变,而StringBuilder和StringBuffer是可变的,这就表示它们创建后仍可以修改他们的值;StringBuffer是synchronized的,它是线程安全的,但是比StringBuilder慢,如无安全要求,推荐使用StringBuilder。
b. Java中字符串的连接是用“+”来实现的,此操作的过程是通过StringBuilder或StringBuffer类及它们的append方法实现。
c. 将字符串转换成日期
1 String str = "Fri 17,2013"; 2 Date date = new SimpleDateFormat("MMM d,yy", Locale.ENGLISH).parse(str); 3 System.out.println(date);
以上是关于Java-String类常用方法汇总的主要内容,如果未能解决你的问题,请参考以下文章