首页 文章

如何将带有任何空格字符的字符串拆分为分隔符?

提问于
浏览
526

我需要传递给 java.lang.String.split() 方法以使用所有空白字符(' ','\t','\n'等)作为分隔符将字符串拆分为子字符串数组的正则表达式模式?

12 回答

  • 1

    因为它是一个正则表达式,并且我假设你也不会想要逗号,点等可以被空白包围的非字母数字字符(例如“一,二”应该给[一] [两]),它应该是:

    myString.split(/[\s\W]+/)
    
  • 8

    我很惊讶没有人提到没有参数的String.split() . 这不是它的目的吗?如:

    "abc def ghi".split()
    
  • -1

    您可以使用以下语句按换行符拆分字符串:

    String textStr[] = yourString.split("\\r?\\n");
    

    您可以使用以下语句通过Whitespace拆分字符串:

    String textStr[] = yourString.split("\\s+");
    
  • 10
    String str = "Hello   World";
    String res[] = str.split("\\s+");
    
  • 35

    研究这段代码..祝你好运

    import java.util.*;
    class Demo{
        public static void main(String args[]){
            Scanner input = new Scanner(System.in);
            System.out.print("Input String : ");
            String s1 = input.nextLine();   
            String[] tokens = s1.split("[\\s\\xA0]+");      
            System.out.println(tokens.length);      
            for(String s : tokens){
                System.out.println(s);
    
            } 
        }
    }
    
  • 2

    有些东西

    myString.split("\\s+");
    

    这将所有空格分组为分隔符 .

    所以,如果我有字符串:

    "Hello[space][tab]World"

    这应该产生字符串 "Hello""World" 并省略 [space][tab] 之间的空白区域 .

    正如VonC指出的那样,反斜杠应该被转义,因为Java会首先尝试将字符串转义为特殊字符,然后发送它进行解析 . 你想要的是文字 "\s" ,这意味着你需要传递 "\\s" . 它可能会有点混乱 .

    \\s 相当于 [ \\t\\n\\x0B\\f\\r]

  • 1

    在大多数正则表达方言中,有一组方便的字符摘要可用于此类事情 - 这些都是值得记住的好方法:

    \w - 匹配任何单词字符 .

    \W - 匹配任何非单词字符 .

    \s - 匹配任何空白字符 .

    \S - 匹配除空白字符之外的任何内容 .

    \d - 匹配任何数字 .

    \D - 匹配除数字之外的任何内容 .

    搜索“Regex Cheatsheets”应该会奖励你很多有用的摘要 .

  • 2

    为了使这个工作 in Javascript ,我必须做以下事情:

    myString.split(/\s+/g)
    
  • 61

    “\ s”应该可以解决问题

  • 917

    你也可以拥有一个UniCode不间断空间xA0 ......

    String[] elements = s.split("[\\s\\xA0]+"); //include uniCode non-breaking
    
  • 10
    String string = "Ram is going to school";
    String[] arrayOfString = string.split("\\s+");
    
  • 85

    Apache Commons Lang有一种方法可以将带有空格字符的字符串拆分为分隔符:

    StringUtils.split("abc def")
    

    http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#split(java.lang.String)

    这可能比正则表达式更容易使用 .

相关问题