2016-08-20 11 views
-7

私は文字列に一致する単語をアンドロイドで返す関数を作成したいと考えています。特定の文字に基づいて文字列を取得する機能

例:

String data = "nama:jono/umur:19/alamat:new york/phone:08123456"; 
function searchword(String full, String first, String last) 
{ 
/******/ 
coding 
/******/ 
return word; 
} 

i 'はNAMA' を取得したい場合は、関数は単にデータ、最初の文字&最後の文字を必要としています。

例:

function searchword(data, "nama:", "/") 
{ 
/******/ 
coding 
/******/ 
return word; 
} 
+3

正確にあなたの質問は何ですか? –

+0

私はこのような関数を作るスクリプトを知りたがっています 'function cariKata($ s、$ keyword1、$ keyword2){ \t $ l1 = strlen($ keyword1); \t $ x1 = strpos($ s、$ keyword1); \t $ x2 = strpos($ s、$ keyword2、$ x1 + $ l1); \t $ l = $ x2 - ($ x1 + $ l1); \t return substr($ s、$ x1 + $ l1、$ l); } ' PHPで関数があります。アンドロイドのstrposのような機能が分かりません。 –

答えて

1

public class Test { 

    public static String searchWord(String data, String first, String last) { 
     //Some contains and null checks are needed here 
     int start = data.indexOf(first) + first.length(); 
     int end = data.indexOf(last, start); 
     return data.substring(start, end); 
    } 

    public static void main(String[] args) { 
     String data = "nama:jono/umur:19/alamat:new york/phone:08123456";; 
     System.out.println(searchWord(data, "nama:", "/")); 
    } 

} 

出力

jono 
1

あなたは文字列の方法から、それを得ることができます。 文字列にその単語が含まれているかどうかを示します。

your_string.contains("YOUR_WORD"); 

これはtrueまたはfalseを返します。その後、それを管理することができます。

+0

文字列にその単語が含まれているかどうかを知りたくありません。私はその言葉を知らなかったので。私が知っている方法は、スプリットまたはストリングトークンを使用することです。 phpではこの関数を使用します。function cariKata($ s、$ keyword1、$ keyword2){$ l1 = strlen($ keyword1); $ x1 = strpos($ s、$ keyword1); $ x2 = strpos($ s、$ keyword2、$ x1 + $ l1); $ l = $ x2 - ($ x1 + $ l1); return substr($ s、$ x1 + $ l1、$ l); } ' –

2

私は自分のスマートフォンでいますが、私はあなたが望むUnterstand:私が言ったように

String searchword(data,str,lastString){ 
String[] attr = data.split(lastString); 
for(String attribute: attr){ 
String[] parts = attribute.split(':'); 
if(parts[0].equals(Str) 
return Parts[1]; 

} 
return Null; 
} 

はたぶん私のスマートフォンに私はミスを犯しました。あなたが String#indexOfString#substringを使用する方法、次の使用することができます

+0

正しい軌道に乗っていますが、正しければjonoの代わりに" jono/umur "を返します –

+0

いいえあなたはおそらく私が間違っています。 –

+0

あなたは正しい私は私の答えであまりにも速かった。これは確かに私が考えるトリックです。 –

関連する問題