0

従業員の場合はフルネームを含む文字列があります。ここで、文字列値と比較したいと思います。3 つ以上の文字が一致する場合は、一致するすべてのレコードが表示されます。

String name1 = "abcdefghijklmnopqrstuv";
EditText editText = findVewById(R.id.eText);
String name2 = ediText.getText().toString();

if (name2.equalsIgnoreCase(name1))
{
    //do something
}

ここでの問題は、完全なパターンに一致する場合に if ループに入るということです。name2 が最初の 3 文字と 3 文字以上に一致するかどうか、およびユーザーが入力したすべての文字が if 条件に入る必要があるかどうかを確認します。これを行う方法はありますか。

4

2 に答える 2

0

試す:

if (name2.substring(0,3).equalsIgnoreCase(name1) || (name1.lenght > 3 && name2.contains(name1)) || name2.equalsIgnoreCase(name1)) 
{
    //do something
}
  • 最初の条件は、最初の 3 文字の一致を検索するためのものです。

name2.substring(0,3).equalsIgnoreCase(name1)

  • 2番目の条件は、3文字以上一致するように見えることです。

(name1.lenght > 3 && name2.contains(name1))

  • 3 番目の条件は完全一致です。

name2.equalsIgnoreCase(name1)

于 2012-12-25T20:04:58.450 に答える
0

正規表現を使用しようとしましたか? http://www.vogella.com/articles/JavaRegularExpressions/article.html

リストで使用している場合は、 Filter インターフェイスを確認する必要があります。http://www.androidhive.info/2012/09/android-adding-search-functionality-to-listview/

于 2012-12-25T20:08:38.577 に答える