如果用户输入yes,我正在尝试创建用户在逗号之间输入的所有内容的列表(收据)。例如:猫,狗,鱼会返回:猫狗鱼在不同的线上。我会使用indexOf吗?
if (language.equals("English")) System.out.println("Please enter your order here (using commas to separate choices!)");
String order =kboard.nextLine();
if (language.equals("English")) System.out.println("Would you like a reciept (yes/no)?");
String response =kboard.nextLine();
if (response.equals("yes"))
答案 0 :(得分:1)
如果您的源字符串将是这样的逗号分隔列表,“cat,dog,bug”,并且您正在使用java,那么我将使用String.split并将分隔符设置为','。
这将返回一个字符串数组,然后可以像这样播放:
String textToParse = "cat, dog, bug";
String[] tokens = textToParse.split(',');
你也可以使用正则表达式,但这对我来说似乎有些过分。
答案 1 :(得分:0)
使用split(parser)
方法。不使输入只是一个字符串,而是使用数组。对于您的情况,请使用以下代码。
String[] order = kboard.nextLine().split(", ");
或者,您可以执行split(",");
,然后使用trim()
方法删除任何额外的空白区域。 (你永远不知道可能有多少)
split()
方法将返回一个字符串数组,您现在可以使用它。因此,如果您想要将其打印出来,请执行以下操作:
for(String s: order)
System.out.println(s);
答案 2 :(得分:0)
您可以在字符串上使用replaceAll方法。
说用户输入:"狗,猫,老鼠,猫猫,"
String response = "dog, cat, mouse, pussy-cat,"
//The above line will remove any blank spaces.
String[] userInput = response.split(", ");
这将创建一个字符串数组,每个索引包含用户输入的字,按各自的顺序。
答案 3 :(得分:0)
String [] orderArray = response.split(',');
是要走的路。正如其他人所说。当从用户获得yes / no时,也尝试使用equalsIgnoreCase。
答案 4 :(得分:0)
在拆分时避免尾随和前导空格的另一种方法是使用response.split(\\s*,\\s*);
。