【发布时间】:2013-09-06 03:02:20
【问题描述】:
我想检索某人作为字符串输入的引号中的任何内容,我假设它是我需要的子字符串,但我不确定如何。
当用户输入一个由一个空格分隔的单词和数字混合的字符串时: 嘿 110 说“我不太擅长 Java”,但“我可以钓鱼”
然后我希望能够获取“我不太擅长 Java”和“我可以很好地钓鱼”并打印出引号内的内容,以便字符串中可以有多个引号。 现在我有 if(userInput=='"') 然后我用子字符串做一些事情,但我不确定是什么。
不幸的是,我不能使用 split、trim、tokenizer、regex 或任何能让这变得非常容易的东西。
这一切都在这个方法中,我尝试识别字符串中的某些内容是单词、数字还是引号:
public void set(String userInput)// method set returns void
{
num=0;// reset each variable so new input can be passed
String empty="";
String wordBuilder="";
userInput+=" ";
for(int index=0; index<userInput.length(); index++)// goes through each character in string
{
if(Character.isDigit(userInput.charAt(index)))// checks if character in the string is a digit
{
empty+=userInput.charAt(index);
}
else
{
if (Character.isLetter(userInput.charAt(index)))
{
wordBuilder+=userInput.charAt(index);
}
else
{
if(userInput.charAt(index)=='"')
{
String quote=(userInput.substring(index,);
}
}
//if it is then parse that character into an integer and assign it to num
num=Integer.parseInt(empty);
word=wordBuilder;
empty="";
wordBuilder="";
}
}
}
}
谢谢!
【问题讨论】:
-
你能用
String#indexOf、String#lastIndexOf和String#subString...吗? -
是的,但 indexOf 只取字符串中的第一个值,而 lastIndexOf 只取最后一个值,如果有多个引号,我希望它工作
-
我没有得到一个好的答案。
-
那你为什么接受一个?
-
我觉得我会很好
标签: java string substring double-quotes