java - 用“,”分割时从字符串中删除空格
问题描述
我需要在某个关键字之后和符号之前识别单词"="
或";"
我通过拆分使用以下方法
String res = "private String name1, name2, name3; ";
Matcher matcherWithCommar = Pattern
.compile("(?<=^private)\\W+(String|float|long|short|double|byte|boolean|int|char)\\W+(.+?)(;|=)",
Pattern.CASE_INSENSITIVE)
.matcher(res);
if (matcherWithCommar.find()) {
System.out.println("Varibels : " + matcherWithCommar.group(2).trim());
String[] parameters = matcherWithCommar.group(2).trim().split(Pattern.quote(","));
for (int r = 0; r < parameters.length; r++) {
System.out.println("names: " + parameters[r]);
}
}
该解决方案使输出带有空格
我的输出就像
Varibels : name1, name2, name3
names: name1
names: name2
names: name3
但我需要这样
Varibels : name1, name2, name3
names: name1
names: name2
names: name3
没有空格
解决方案
更改.split(Pattern.quote(","));
为匹配逗号前后空格的正则表达式模式(您不需要引用)。像,
.split("\\s*,\\s*");
我得到的只是那个改变
Varibels : name1, name2, name3
names: name1
names: name2
names: name3
推荐阅读
- macos - 如何在 Mac 上安装 Clang 9?
- python - 文本分类器总是预测最大的类
- angular - 在 Angular 中使用视频和画布元素
- apache-spark - 如何向 Livy 提交 PySpark 和 Python 作业
- google-app-engine - GCP App Engine 部署和使用 Google Cloud Storage 客户端库
- python - 如何将聚类算法应用于体积表面?
- r - 如何优化此 R 代码以加快处理速度并避免循环?
- mysql - 如何使用 MariaDB 5.5 修复“ERROR 1118 (42000): Row size too large (> 8126)”?
- c++ - 如何将输入的数字字符串转换为 int 数组?
- c# - DataGrid OnItemDataBound 干扰 DropDownList OnSelectedIndexChange 事件