我正在研究一个可以测量两个城市之间距离的项目。我试图设置它,以便用户输入一行命令来搜索两个城市,例如“距离达拉斯纽约市”。现在我有了它,以便使用.split()方法将该行拆分为一个字符串数组,但是它会在空格和标点符号上分割,这意味着名称长于一个单词的城市将无效。理想情况下,我希望它能够输入“远距离达拉斯”纽约市“”,但我不知道该怎么做。
PowerShell
答案 0 :(得分:1)
也许你可以使用它:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Gather timeout="10" numDigits="5">
<Say>Please enter your pin number and then press star.</Say>
</Gather>
</Response>
答案 1 :(得分:0)
如果您使用Pattern
中的Matcher
和java.util.regex
,则可以使用".*?"|\S+
这样的正则表达式来标记输入,然后您可以使用多个引号字城市。 Regex101 Tested
首先在代码开头编译正则表达式:
final Pattern p = Pattern.compile("\".*?\"|\\S+");
然后像这样生成arg
:
String[] arg = new String[3];
Matcher m = p.matcher(in.nextLine());
for (int i = 0; i < arg.length && m.find(); i++) {
arg[i] = m.group().replace("\"", "");
}