java - 从没有修剪()的字符串的开头和结尾删除空格
问题描述
如何在String
不使用该trim()
方法的情况下从 a 的开头和结尾删除空格?
这是我的代码
public class StringTest {
public static void main(String[] args) {
String line = " Philippines| WNP|Naga |Camarines Sur|Naga Airport ";
//System.out.println(line);
int endIndex = line.indexOf("|");
String Country = line.substring(0, endIndex);
line = line.substring(endIndex + 1);
int endIndexCountry = line.indexOf("|");
String Code = line.substring(0, endIndexCountry);
line = line.substring(endIndexCountry + 1);
int endIndexCode = line.indexOf("|");
String City = line.substring(0, endIndexCode);
line = line.substring(endIndexCode + 1);
int endIndexCity = line.indexOf("|");
String State = line.substring(0, endIndexCity);
line = line.substring(endIndexCity + 1);
System.out.print("Code:" + Code + "____");
System.out.print("Country:" + Country + "____");
System.out.print("State:" + State + "____");
System.out.print("City:" + City + "____");
System.out.println("Airport:" + line+ "____");
}
}
我的输出看起来像这样
Code: WNP____Country: Philippines____State:Camarines Sur____City:Naga ____Airport:Naga Airport ____
我需要看起来像这样(没有空格)
Code:WNP____Country:Philippines____State:Camarines Sur____City:Naga____Airport:Naga Airport____
解决方案
如何在不使用 trim() 方法的情况下从字符串的开头和结尾删除空格?
您可以使用正则表达式模式和String::replaceAll
.
public class Main {
public static void main(String[] args) {
String str = " Hello ";
System.out.println("Before: " + str + "World!");
str = str.replaceAll("^[ \\t]+", "").replaceAll("[ \\t]+$", "");
System.out.println("After: " + str + "World!");
}
}
输出:
Before: Hello World!
After: HelloWorld!
推荐阅读
- css - Vue.js 无法设置锚点样式
- javascript - 更新输入时超出最大更新深度
- visual-studio-code - 如何在 Visual Studio Code Extensions API 中使用 Contains?
- python - 如何让 Django LoginRequiredMiddleware 返回 401_UNAUTHORIZED 代码而不是 302_FOUND
- docker - docker 卷上的 ng 命令非常慢(Windows)
- java - 如何合并集合中的记录
- python - 与关联表的多对多关系的 SQLAlchemy 警告
- javascript - 为 Youtube 视频添加自定义播放按钮
- react-native - 如何在 react-native expo 中为文本提供渐变?
- php - 更改发件人姓名和电子邮件 laravel