Jak uzyskać to, co jest między „” w ciągu wprowadzonym przez użytkownika? Jawa
Chciałbym pobrać cokolwiek, co jest w cudzysłowach, które ktoś wprowadza jako ciąg, zakładam, że jest to podciąg, którego potrzebuję, ale nie jestem pewien, jak.
Gdy użytkownik wprowadza ciąg mieszany ze słowami i liczbami rozdzielonymi spacją: hej 110 powiedz „Nie jestem zbyt dobry w Javie”, ale „mogę łowić całkiem nieźle”
Następnie chcę być w stanie wziąć „Nie jestem dobry w Javie” i „Mogę łowić całkiem dobrze” i wydrukować to, co znajduje się w cudzysłowie, aby w ciągu mogło być wiele cudzysłowów. teraz mam if (userInput == '"'), a następnie robię coś z podciągiem, ale nie jestem pewien co.
Nie mogę używać splitów, trimów, tokenizerów, wyrażenia regularnego ani niczego, co byłoby naprawdę łatwe.
to wszystko w tej metodzie, w której próbuję zidentyfikować, czy coś w łańcuchu jest słowem, liczbą lub cytatem:
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="";
}
}
}
}
Dzięki!