【问题标题】:tokenizer or split string at multiple spaces in javajava中多个空格处的分词器或拆分字符串
【发布时间】:2011-10-06 19:12:43
【问题描述】:

我需要标记一个字符串,只要有多个空格。

例如

"HUNTSVILLE, AL                   30   39.8   44.3   52.3"

变成

"HUNTSVILLE, AL","30","39.8","44.3","52.3"


StringTokenizer st = new StringTokenizer(str, "   ");

只是标记任何空白,我无法找出一个正则表达式来做我需要的。

谢谢

【问题讨论】:

  • @user914763 再次阅读您的问题,这没有任何意义。提供你得到什么以及你想要发生什么,否则没有人能帮助你。就目前而言,你从来没有真正描述过你想要什么,所以你需要做什么对我们所有人来说都是一个谜。
  • 我的问题很有道理。我有一个要解析的文本样本和期望的结果。我得到了 4 个答案,所有这些答案都可以解决我的问题,这些答案都可以从善良而乐于助人的人那里得到。

标签: java string tokenize


【解决方案1】:

试试这个:

String s = "HUNTSVILLE, AL                   30   39.8   44.3   52.3";
String[] parts = s.split("\\s{3,}");
for(String p : parts) {
  System.out.println(p);
}

\s 匹配任何空白字符,{3,} 将匹配它 3 次或更多次。

上面的 sn-p 会打印:

亨茨维尔, AL
30
39.8
44.3
52.3

【讨论】:

  • 谢谢。这很好用。比分词器好很多。一有机会,我就会阅读我的正则表达式。
【解决方案2】:

你不能使用拆分吗?

String[] tokens = string.split("  ");

您必须过滤空条目。

【讨论】:

    【解决方案3】:

    试试这个方法:

    String[] result = "HUNTSVILLE, AL                   30   39.8   44.3   52.3".split("[ ]{2,}");
         for (int x=0; x<result.length; x++)
             System.out.println(result[x]);
    

    [ ] - 表示空格
    {2,} - 表示超过 2 个

    【讨论】:

      【解决方案4】:
       /*
       * Uses split to break up a string of input separated by
       * whitespace.
       */
      import java.util.regex.*;
      
      public class Splitter {
          public static void main(String[] args) throws Exception {
              // Create a pattern to match breaks
              Pattern p = Pattern.compile("[ ]{2,}");
              // Split input with the pattern
              String[] result = 
                       p.split("one,two, three   four ,  five");
              for (int i=0; i<result.length; i++)
                  System.out.println(result[i]);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-01
        • 2012-10-16
        • 1970-01-01
        • 2012-01-08
        • 2013-04-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多