拆分忽略空格的主方法参数

时间:2015-07-22 05:07:14

标签: java regex split string-split

我的主要方法参数用逗号分隔,而且有些值也可能有空格,我必须只拆分逗号分隔的值忽略空格。

例如:abcdef,xyzert,mnop qrst

我尝试过使用split(",")但是它给了我4个值而不是3个,因为最后一个元素应该被视为一个元素。

这是我的代码:

public class ArgCheck {
    public static void main(String [] args) {
        String x = Arrays.toString(args);
        System.out.println(x);
        String [] y = x.split(",");
        System.out.println(y.length);
    }
}

请帮忙

4 个答案:

答案 0 :(得分:1)

如果您将abcdef,xyzert,mnop qrst作为args传递给主要方法,则可以检查args的值和长度。长度为2,值为abcdef,xyzert,mnop& qrst

要实现您的目标,您可以在命令行中将输入更改为 abcdef,xyzert,"mnop qrst" 。您需要使用""将其标识为一个字

如果您不知道哪个输入将在哪个字段之间有空格,那么您可以使用一般规则

将所有单词包装在""中并将其传递给主方法,如

<强> "abcdef","xyzert","mnop qrst"

将整行包裹在""中,然后将其传递给主方法,如

<强> "abcdef,xyzert,mnop qrst"

答案 1 :(得分:0)

尝试一次,接收变量string作为命令行参数。

String string = "abcdef,xyzert,mnop qrst";
String[] parts = string.split(",");
String part1 = parts[0]; 
String part2 = parts[1]; 
String part3 = parts[2];
System.out.println(part1+"\n"+part2+"\n"+part3);

如果您需要n个值,请使用loop

for(int i=0;i<parts.length;i++)
    System.out.println(parts[i]);

希望有所帮助

答案 2 :(得分:0)

首先尝试首先从字符串中删除空格。

st.replaceAll("\\s+","")

Removing whitespace from strings in Java

获取此信息

删除空格后,您现在可以使用拆分方法。

答案 3 :(得分:0)

您可以先加入args的所有元素,然后将其拆分。 像这样:

String str = "";
for (String eachArg : args) {
    str += eachArg + " ";
}
System.out.println (str.split(",").length);

希望这有帮助。