gpt4 book ai didi

java - Java 将 StringBuilder 拆分为数组后删除空字符串

转载 作者:行者123 更新时间:2023-12-01 06:49:01 25 4
gpt4 key购买 nike

抱歉,如果这个问题已经被问过,但我只能找到 c# 的结果。所以我有这个 StringBuilder:

 StringBuilder sb = new StringBuilder(" 111     11 ");

我想使用此方法将其拆分为一个数组:

String[] ar = sb.toString().split(" ");

正如预期的那样,结果数组有一些空条目。我的问题是,当我拆分 StringBuilder 时,是否可以直接删除这些空白,或者我必须在之后执行此操作。

最佳答案

split 采用正则表达式。所以:

String[] ar = sb.toString().split("\\s+");

字符串 \\s 是表示“任何空白”的正则表达式,+ 是:其中 1 个或多个。如果您只想按空格分割(而不是按换行符、制表符等),请尝试: String[] ar = sb.toString().split("+"); 字面意思是: “拆分为一个或多个空格”。

这个技巧几乎适用于任何分隔符。例如,用逗号分隔?尝试: .split("\\s*,\\s*"),即:0 个或多个空格、一个逗号,后跟 0 个或多个空格(正则表达式占用的空间尽可能多)可以)。

请注意,此技巧不会消除前导和尾随空格。但要做到这一点,请使用修剪。把它们放在一起:

String[] ar = sb.toString().trim().split("\\s+");

对于逗号:

String[] ar = sb.toString().trim().split("\\s*,\\s*");

关于java - Java 将 StringBuilder 拆分为数组后删除空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54214149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com