如何在android中逐字搜索

时间:2012-08-08 06:38:11

标签: java android string search

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

例如

String text = "Samsung Galaxy S Two";

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

它会获得任何相关的字母表,即使它不是一个正确的单词,例如“Galaxy”中的“axy”。

有任何建议或解决方案吗?

5 个答案:

答案 0 :(得分: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

答案 1 :(得分: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

答案 2 :(得分:1)

使用indexOf

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

substring

String s=string.substring("koko",0,1);

答案 3 :(得分: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

答案 4 :(得分: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
}