2017-02-15 9 views
1

Кто-то может мне помочь с кодом? Как искать слово в тексте строки, это слово заканчивается "." или «» в JavaКак искать слово в тексте строки, это слово заканчивается "." или "," в java

Я не хочу искать, как это, чтобы найти его

String word = "test."; 

String wordSerch = "I trying to tasting the Artestem test."; 

String word1 = "test,"; // here with "," 

String word2 = "test."; // here with "." 

String word3 = "test"; //here without 

//after i make string array and etc... 

if((wordSearch.equalsIgnoreCase(word1))|| 
    (wordSearch.equalsIgnoreCase(word2))|| 
    (wordSearh.equalsIgnoreCase(word3))) { 
} 

if (wordSearch.contains(gramer)) 
//it's not working because the word Artestem will contain test too, and I don't need it 
+0

Проведено ли какое-либо исследование? Основываясь на ваших потребностях, 'contains',' startWith', ... из String или Regex сделают это, есть достаточный существующий источник, я считаю, что вам нужно то, что вам нужно – AxelH

+0

. Ваш вопрос не имеет большого смысла. Однако вы можете найти 'String.endsWith()' полезным. –

+0

Как использовать regex (как указано AxelH)? http://stackoverflow.com/questions/9464261/how-to-find-the-exact-word-using-a-regex-in-java – RubioRic

ответ

1

Вы можете использовать функцию matches(Regex) со строковым

String word = "test."; 
boolean check = false; 
if (word.matches("\w*[\.,\,]") { 
    check = true; 
} 
1

Вы можете использовать регулярное выражение для этого

Matcher matcher = Pattern.compile("\\btest\\b").matcher(wordSearch); 
if (matcher.find()) { 
} 

\\b\\b будет соответствовать только одному слову. Таким образом, "Artestem" не будет соответствовать в этом случае. matcher.find() вернет true, если в вашем предложении есть слово test и false в противном случае.

1
String stringToSearch = "I trying to tasting the Artestem test. test,"; 

Pattern p1 = Pattern.compile("test[.,]"); 
Matcher m = p1.matcher(stringToSearch); 

while (m.find()) 
{ 
    System.out.println(m.group()); 
}