2016-08-20 4 views
-7

나는 안드로이드에서 문자열에 일치하는 단어를 반환하는 함수를 만들고 싶습니다.특정 문자를 기반으로 문자열을 가져 오는 기능

예 :

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

내가 '이름 선택'을 얻을하려는 경우, 함수가 단지 데이터, 첫번째 문자 & 마지막 문자가 필요합니다.

예는 :

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

당신은 문자열의 contains() 방법에서 얻을 수 있습니다. 문자열에 해당 단어가 들어 있는지 여부를 알려줍니다.

your_string.contains("YOUR_WORD"); 

이 경우 true 또는 false를 반환합니다. 그런 다음 관리 할 수 ​​있습니다.

+0

문자열에 해당 단어가 포함되어 있는지 여부를 알고 싶지 않습니다. 내가 그 말을 몰랐기 때문에. 내가 아는 방법은 split 또는 stringtokenizer를 사용하는 것입니다. 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

맞습니다. 제 답변으로는 너무 빠르다. 이것은 실제로 내가 생각하는 트릭을 수행합니다. –

관련 문제