Pet*_*kov 0 java arrays string split
对不起,如果已经问过这个问题,但我只能找到c#的结果.所以我有这个StringBuilder:
StringBuilder sb = new StringBuilder(" 111 11 ");
Run Code Online (Sandbox Code Playgroud)
我想用这个方法将它拆分成一个数组:
String[] ar = sb.toString().split(" ");
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,结果数组有一些空条目.我的问题是,当我拆分StringBuilder时,我是否可以直接删除这些空格,或者之后我必须这样做.
split需要一个正则表达式.所以:
String[] ar = sb.toString().split("\\s+");
Run Code Online (Sandbox Code Playgroud)
字符串\\s
是'任何空格'的regexp-ese,而+是:1或更多.如果你只想在空格上拆分(而不是在换行符,制表符等),请尝试:String[] ar = sb.toString().split(" +");
字面意思是:"拆分在一个或多个空格上".
这个技巧适用于任何分隔符.例如,用逗号分隔?尝试:.split("\\s*,\\s*")
,即:0或更多的空格,逗号,后跟0或更多的空格(和正则表达式尽可能多).
请注意,此技巧不会消除前导和尾随空格.但要做到这一点,使用修剪.把它们放在一起:
String[] ar = sb.toString().trim().split("\\s+");
Run Code Online (Sandbox Code Playgroud)
并为逗号:
String[] ar = sb.toString().trim().split("\\s*,\\s*");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
264 次 |
最近记录: |