2

如何在字符串中搜索单词?

例如

String text = "Samsung Galaxy S Two";

如果我使用text.contains("???");

它会得到任何相关的字母,即使它不是“银河”中的“axy”等正确的词。

有什么建议或解决方案吗?

4

5 回答 5

1

对于最简单的用法,您可以使用 StringTokenizer 查看此链接。 http://docs.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html

要使用正则表达式,请查看 android 中的模式。 http://developer.android.com/reference/java/util/regex/Pattern.html

于 2012-08-08T06:44:36.677 回答
1
List<String> tokens = new ArrayList<String>();

String text = "Samsung Galaxy S Two";
StringTokenizer st = new StringTokenizer(text);

    //("---- Split by space ------");
    while (st.hasMoreElements()) {
        tokens.add(st.nextElement().toString());
    }

    String search = "axy";
    for(int i=0;i<tokens.size();i++)
    {
        if(tokens.get(i).contains(search))
        {
            System.out.println("Word is "+tokens.get(i));
            break;//=====> Remove Break if you want to continue searching all the words which contains `axy`
        }
    }

output====>Galaxy
于 2012-08-08T06:58:18.743 回答
1

使用indexOf

int i= string.indexOf('1'); 

substring

String s=string.substring("koko",0,1);
于 2012-08-08T17:11:22.427 回答
0

试试这个..

String string = "madam, i am Adam";

// 人物

// First occurrence of a c
int index = string.indexOf('a');    // 1

// Last occurrence
index = string.lastIndexOf('a');    // 14

// Not found
index = string.lastIndexOf('z');    // -1

// 子字符串

// First occurrence
index = string.indexOf("dam");      // 2

// Last occurrence
index = string.lastIndexOf("dam");  // 13

// Not found
index = string.lastIndexOf("z");    // -1
于 2012-08-08T16:59:00.863 回答
0

我知道这是一个老问题,但我写在这里是为了帮助下一个需要帮助的人。

您可以使用火柴

String str = "Hello, this is a trial text";
str1 = str.toLowerCase();
if(str1.matches(".*trial.*")) //this will search for the word "trial" in str1
{
    //Your Code
}
于 2017-06-18T11:14:25.987 回答