拆分主要方法参数忽略空格
Splitting main method arguments ignoring whitespace
我的主要方法参数用逗号分隔,一些值也可能有空格,我必须只拆分逗号分隔的值而忽略空格。
例如: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);
}
}
请帮忙
尝试一次,接收变量 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]);
希望对您有所帮助
首先尝试先从字符串中删除空格。
st.replaceAll("\s+","")
来自 Removing whitespace from strings in Java
删除空格后,您现在可以使用拆分方法了。
您可以先将 args
的所有元素合并,然后再拆分。
像这样:
String str = "";
for (String eachArg : args) {
str += eachArg + " ";
}
System.out.println (str.split(",").length);
希望对您有所帮助。
如果您将 abcdef,xyzert,mnop qrst
作为您的 args
传递给您的主要方法,那么您可以检查参数的值和长度。长度将为 2
,值将为 abcdef,xyzert,mnop
& qrst
.
要实现您想要的效果,您可以将命令行中的输入更改为 abcdef,xyzert,"mnop qrst"
。需要用""
来识别为一个词.
如果您不知道输入的内容是什么,因为在哪个字段之间会有 space,那么您可以使用一般规则
将你所有的单词包装在 ""
中并将其传递给主要方法,如
"abcdef","xyzert","mnop qrst"
或将整行包裹在""
中,然后将其传递给main方法,如
"abcdef,xyzert,mnop qrst"
我的主要方法参数用逗号分隔,一些值也可能有空格,我必须只拆分逗号分隔的值而忽略空格。
例如: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);
}
}
请帮忙
尝试一次,接收变量 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]);
希望对您有所帮助
首先尝试先从字符串中删除空格。
st.replaceAll("\s+","")
来自 Removing whitespace from strings in Java
删除空格后,您现在可以使用拆分方法了。
您可以先将 args
的所有元素合并,然后再拆分。
像这样:
String str = "";
for (String eachArg : args) {
str += eachArg + " ";
}
System.out.println (str.split(",").length);
希望对您有所帮助。
如果您将 abcdef,xyzert,mnop qrst
作为您的 args
传递给您的主要方法,那么您可以检查参数的值和长度。长度将为 2
,值将为 abcdef,xyzert,mnop
& qrst
.
要实现您想要的效果,您可以将命令行中的输入更改为 abcdef,xyzert,"mnop qrst"
。需要用""
来识别为一个词.
如果您不知道输入的内容是什么,因为在哪个字段之间会有 space,那么您可以使用一般规则
将你所有的单词包装在 ""
中并将其传递给主要方法,如
"abcdef","xyzert","mnop qrst"
或将整行包裹在""
中,然后将其传递给main方法,如
"abcdef,xyzert,mnop qrst"