一些常用的字符串api
length()
: 返回字符串的长度(即字符个数)。
javaString str = "Hello World";
int length = str.length();
System.out.println(length); // 输出:11
charAt(int index)
: 返回字符串中指定索引位置的字符。
javaString str = "Hello";
char ch = str.charAt(1);
System.out.println(ch); // 输出:'e'
substring(int beginIndex)
: 返回从指定索引开始到字符串结尾的子字符串。substring(int beginIndex,int endIndex)
: 返回从指定索引开始到指定索引结束尾的子字符串[beginIndex,endIndex)
。
String str="123456";
String s1=str.substring(2); //s1="3456"
String s2=str.substring(2,4); //s2="34"
toLowerCase()
: 返回一个将字符串全部转换为小写字母的新字符串。
javaString str = "HELLO";
String lowerCase = str.toLowerCase();
System.out.println(lowerCase); // 输出:'hello'
toUpperCase()
: 返回一个将字符串全部转换为大写字母的新字符串。
javaString str = "hello";
String upperCase = str.toUpperCase();
System.out.println(upperCase); // 输出:'HELLO'
isEmpty()
: 判断字符串是否为空(长度为0)。
javaString str = "";
boolean isEmpty = str.isEmpty();
System.out.println(isEmpty); // 输出:true
trim()
: 返回一个移除了字符串开头和结尾的空格的新字符串。
javaString str = " Hello World ";
String trimmed = str.trim();
System.out.println(trimmed); // 输出:'Hello World'
indexOf(String str)
: 返回指定字符串在当前字符串中第一次出现的索引位置。
javaString str = "Hello World";
int index = str.indexOf("W");
System.out.println(index); // 输出:6
startsWith(String prefix)
: 检查当前字符串是否以指定的前缀开头。
javaString str = "Hello World";
boolean startsWithHello = str.startsWith("Hello");
System.out.println(startsWithHello); // 输出:true
endsWith(String suffix)
: 检查当前字符串是否以指定的后缀结尾。
javaString str = "Hello World";
boolean endsWithWorld = str.endsWith("World");
System.out.println(endsWithWorld); // 输出:true
split(String regex)
: 将字符串按照指定的正则表达式分割成字符串数组并返回。split(String regex, int limit)
: 将字符串按照指定的正则表达式分割成字符串数组并返回,限制返回的子字符串的数量不超过limit
。
String str="China,USA,Japan,India,France";
String [] s1=str.split(","); //s1[0]="China",s1[2]="Japan"
String [] s2=str.split(",",3); //s2[0]="China",s2[1]="USA",s2[2]="Japan,India,France"
//对多种符号进行切割
String s="123,23-4 5";
String [] s3=s.split(",|-| "); //s3[0]=123,s3[1]=23,s3[2]=4,s3[3]=5
hutool Strutil中的一些字符串api
toCamelCase(CharSequence name)
:将下划线方式命名的字符串转换为驼峰式。如果转换前的下划线大写方式命名的字符串为空,则返回空字符串。
String underlineCase = "hello_world";
String camelCase = StrUtil.toCamelCase(underlineCase);
System.out.println(camelCase); // 输出:helloWorld
toUnderlineCase(CharSequence str)
:将驼峰式命名的字符串转换为下划线方式。如果转换前的驼峰式命名的字符串为空,则返回空字符串。
String camelCase = "helloWorld";
String underlineCase = StrUtil.toUnderlineCase(camelCase);
System.out.println(underlineCase); // 输出:hello_world
format(CharSequence template, Object... params)
:格式化文本, {} 表示占位符此方法只是简单将占位符 {} 按照顺序替换为参数,如果想输出 {} 使用 \转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\ 即可
通常使用:format("this is {} for {}", "a", "b") =》 this is a for b
转义{}: format("this is \\{} for {}", "a", "b") =》 this is {} for a
转义\: format("this is \\\\{} for {}", "a", "b") =》 this is \a for b
removePrefix
、removeSuffix
方法
这两个是去掉字符串的前缀后缀的,例如去个文件名的扩展名啥。
String fileName = StrUtil.removeSuffix("pretty_girl.jpg", ".jpg") //fileName -> pretty_girl
还有忽略大小写的removePrefixIgnoreCase
和removeSuffixIgnoreCase
都比较实用
upperFirst
首字母转大写
String str = "hutool";
String result = StrUtil.upperFirst(str);
System.out.println(result); // 输出 "Hutool"