Java常用字符串方法小结
创建字符串
String str = "Hello, World!"
;
String str = new String("Hello, World!");
获取字符串长度
int length = str.length();
方法 | 描述 |
length() |
返回字符串的长度。 |
字符串拼接
String str1 = "Hello";
String str2 = "World";
String result = str1 + " " + str2;
String result = str1.concat(" ").concat(str2);
方法 | 描述 |
+ |
使用加号操作符进行字符串拼接。 |
concat(String str) |
将指定的字符串连接到此字符串的末尾。 |
字符串比较
boolean isEqual = str1.equals(str2);
boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str2);
方法 | 描述 |
equals(Object anObject) |
将此字符串与指定对象比较,如果两个字符串的内容相同,则返回true。 |
equalsIgnoreCase(String anotherString) |
忽略大小写比较两个字符串。 |
子字符串
String subStr = str.substring(0, 5);
方法 | 描述 |
substring(int beginIndex) |
返回一个新的字符串,它是此字符串的一个子字符串,从指定索引beginIndex开始到字符串末尾结束。 |
substring(int beginIndex, int endIndex) |
返回一个新的字符串,它是此字符串的一个子字符串,从指定索引beginIndex开始到索引endIndex结束。 |
查找字符或子字符串
int index = str.indexOf("World");
int lastIndex = str.lastIndexOf("o");
方法 | 描述 |
indexOf(String str) |
返回第一次出现的指定子字符串在此字符串中的索引,如果没有出现,则返回1。 |
indexOf(char ch) |
返回指定字符在此字符串中第一次出现处的索引,如果没有出现,则返回1。 |
lastIndexOf(String str) |
返回最后一次出现的指定子字符串在此字符串中的索引,如果没有出现,则返回1。 |
lastIndexOf(char ch) |
返回指定字符在此字符串中最后一次出现处的索引,如果没有出现,则返回1。 |
替换字符或子字符串
String replacedStr = str.replace("World", "Java");
String replacedAllStr = str.replaceAll("o", "0");
方法 | 描述 |
replace(CharSequence target, CharSequence replacement) |
使用指定的字面值替换序列替换此字符串所有匹配给定的字符序列的子字符串。 |
replaceAll(String regex, String replacement) |
使用给定的替换替换此字符串所有匹配给定的正则表达式的子字符串。 |
replaceFirst(String regex, String replacement) |
使用给定的替换替换此字符串第一个匹配给定的正则表达式的子字符串。 |
转换大小写
String upperCaseStr = str.toUpperCase();
String lowerCaseStr = str.toLowerCase();
方法 | 描述 |
toUpperCase() |
使用默认语言环境的规则将此字符串转换为大写。 |
toLowerCase() |
使用默认语言环境的规则将此字符串转换为小写。 |
去除空白字符
String trimmedStr = str.trim();
String leadingTrimmedStr = str.trimStart();
String trailingTrimmedStr = str.trimEnd();
方法 | 描述 |
trim() |
返回该字符串的副本,忽略前导空白和尾部空白。 |
strip() |
返回该字符串的副本,忽略前导空白和尾部空白。 |
stripLeading() |
返回该字符串的副本,忽略前导空白。 |
stripTrailing() |
返回该字符串的副本,忽略尾部空白。 |
分割字符串
String[] tokens = str.split("\\s+");
方法 | 描述 |
split(String regex) |
根据给定正则表达式的匹配拆分此字符串。 |
split(String regex, int limit) |
根据匹配给定的正则表达式来拆分此字符串,最多拆分limit次。 |
相关问题与解答
问题1:如何在Java中反转一个字符串?
解答:
在Java中可以通过以下几种方式反转一个字符串:
1、使用StringBuilder/StringBuffer的reverse方法:
String original = "Hello, World!"; String reversed = new StringBuilder(original).reverse().toString();
2、使用递归:
public class Main { public static void main(String[] args) { String original = "Hello, World!"; String reversed = reverseString(original); System.out.println(reversed); // !dlroW ,olleH } public static String reverseString(String str) { if (str == null || str.length() <= 1) { return str; } return reverseString(str.substring(1)) + str.charAt(0); } }
3、使用循环:
public class Main { public static void main(String[] args) { String original = "Hello, World!"; String reversed = ""; for (int i = original.length() 1; i >= 0; i) { reversed += original.charAt(i); } System.out.println(reversed); // !dlroW ,olleH } }
问题2:如何判断一个字符串是否为回文(即正读和反读都一样)?
解答:
可以通过以下几种方式判断一个字符串是否为回文:
1、使用双指针法:
public class Main { public static void main(String[] args) { String str = "madam"; boolean isPalindrome = isPalindrome(str); System.out.println(isPalindrome); // true } public static boolean isPalindrome(String str) { int left = 0; int right = str.length() 1; while (left < right) { if (str.charAt(left) != str.charAt(right)) { return false; } left++; right; } return true; } }
2、使用StringBuilder的reverse方法:
public class Main { public static void main(String[] args) { String str = "madam"; boolean isPalindrome = isPalindrome(str); System.out.println(isPalindrome); // true } public static boolean isPalindrome(String str) { return new StringBuilder(str).reverse().toString().equals(str); } }
各位小伙伴们,我刚刚为大家分享了有关“Java常用字符串方法小结”的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!