字符串和 indexOf 的问题
Trouble with strings and indexOf
如果用户键入是,我将尝试创建一个列表(收据),其中包含用户在逗号之间输入的所有内容。例如:cat, dog, fish 会 return: cat dog fish 分行。我会使用 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"))
使用split(parser)
方法。不要只输入一个字符串,而是使用一个数组。对于您的情况,请使用以下代码。
String[] order = kboard.nextLine().split(", ");
或者,您可以执行 split(",");
然后使用 trim()
方法删除任何多余的白色 space。 (你永远不知道那里可能有多少)
split()
方法将 return 一个字符串数组,您现在可以使用它。所以如果你想打印出来,做这样的事情:
for(String s: order)
System.out.println(s);
您可以对字符串使用 replaceAll 方法。
假设用户输入:"dog, cat, mouse, pussy-cat,"
String response = "dog, cat, mouse, pussy-cat,"
//The above line will remove any blank spaces.
String[] userInput = response.split(", ");
这将创建一个字符串数组,每个索引包含用户按相应顺序输入的单词。
如果您的源字符串将是像这样的逗号分隔列表,"cat, dog, bug",并且您使用的是 java,那么我会 String.split 并将分隔符设置为成为','。
这将 return 一个字符串数组,您可以像这样玩:
String textToParse = "cat, dog, bug";
String[] tokens = textToParse.split(',');
您也可以使用正则表达式,但这对我来说似乎太过分了。
String[] orderArray = response.split(',');
是必经之路。正如其他人所提到的。从用户获取 yes/no 时也尝试使用 equalsIgnoreCase。
另一种在拆分时避免尾随和前面的空格的方法,使用response.split(\s*,\s*);
。
如果用户键入是,我将尝试创建一个列表(收据),其中包含用户在逗号之间输入的所有内容。例如:cat, dog, fish 会 return: cat dog fish 分行。我会使用 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"))
使用split(parser)
方法。不要只输入一个字符串,而是使用一个数组。对于您的情况,请使用以下代码。
String[] order = kboard.nextLine().split(", ");
或者,您可以执行 split(",");
然后使用 trim()
方法删除任何多余的白色 space。 (你永远不知道那里可能有多少)
split()
方法将 return 一个字符串数组,您现在可以使用它。所以如果你想打印出来,做这样的事情:
for(String s: order)
System.out.println(s);
您可以对字符串使用 replaceAll 方法。
假设用户输入:"dog, cat, mouse, pussy-cat,"
String response = "dog, cat, mouse, pussy-cat,"
//The above line will remove any blank spaces.
String[] userInput = response.split(", ");
这将创建一个字符串数组,每个索引包含用户按相应顺序输入的单词。
如果您的源字符串将是像这样的逗号分隔列表,"cat, dog, bug",并且您使用的是 java,那么我会 String.split 并将分隔符设置为成为','。
这将 return 一个字符串数组,您可以像这样玩:
String textToParse = "cat, dog, bug";
String[] tokens = textToParse.split(',');
您也可以使用正则表达式,但这对我来说似乎太过分了。
String[] orderArray = response.split(',');
是必经之路。正如其他人所提到的。从用户获取 yes/no 时也尝试使用 equalsIgnoreCase。
另一种在拆分时避免尾随和前面的空格的方法,使用response.split(\s*,\s*);
。