文字列内の単語を検索する方法は?
例えば
String text = "Samsung Galaxy S Two";
使用する場合text.contains("???");
「Galaxy」の「axy」などの適切な単語でなくても、関連するアルファベットを取得します。
何か提案や解決策はありますか?
使用indexOf
:
int i= string.indexOf('1');
またはsubstring
:
String s=string.substring("koko",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
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
これを試して..
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