【问题标题】:i want to split my java string array when multiple charactors in nearly in my string当我的字符串中几乎有多个字符时,我想拆分我的 java 字符串数组
【发布时间】:2020-04-02 21:17:13
【问题描述】:

我已经使用 .split 函数来完成这项任务,但我注意到当我的数组附近有两个特殊字符时,这里填充了一个空格,这是我的代码

String strLine="cat dog man()home(String[welcome)throws , guess {";
String[] words = strLine.split("\\{+|\\(+|\\[+|\\]+|\\)+|\\,|\\s+");
int len=words.length;

for(int x=0;x<len;x++){
      System.out.println(words[x]);
}

结果显示为

我想要没有空格的数组 任何建议

【问题讨论】:

  • 提示:字符列表和“一个或多个”量词
  • 为什么不直接使用 if 语句呢? if (!words[x].trim().isEmpty()) { System.out.println(words[x]); }
  • @Raghav,我想要没有空格的数组 - 不显示没有空格的数组。

标签: java arrays split


【解决方案1】:

由于您希望将相邻的分隔符视为单个分隔符,只需将它们组合在单个字符类中即可。

\{+|\(+|\[+|\]+|\)+|\,|\s+     →     [{(\[\]),\s]+

但是,由于, 上没有+,因此似乎不应将多个逗号视为单个分隔符,因此我们需要以不同方式处理。

您似乎也忘记了}

[{}()\[\]\s]*,[{}()\[\]\s]*|[{}()\[\]\s]+

作为 Java 字面量:

"[{}()\\[\\]\\s]*,[{}()\\[\\]\\s]*|[{}()\\[\\]\\s]+"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    相关资源
    最近更新 更多