第1个回答 2023-03-09
在Java中,可以使用以下代码定义一个`trim()`方法,用于去除字符串两端的空白:
```java
public static String trim(String str) {
if (str == null || str.isEmpty()) {
return str;
}
int start = 0;
int end = str.length() - 1;
while (start <= end && Character.isWhitespace(str.charAt(start))) {
start++;
}
while (end >= start && Character.isWhitespace(str.charAt(end))) {
end--;
}
return str.substring(start, end + 1);
}
```
在上述代码中,首先对传入的参数进行了非空判断,若为空或长度为0,则直接返回原字符串。然后,使用两个循环分别从字符串的头部和尾部开始扫描,将空白字符跳过,直到找到第一个非空白字符和最后一个非空白字符的位置。最后,使用`substring()`方法截取字符串子串,得到去除头尾空白字符后的结果。
以下是使用示例:
```java
String str = " hello world! ";
String trimmedStr = trim(str);
System.out.println(trimmedStr); // 输出"hello world!"
```