2013-12-24 4 views
0

У меня есть алфавитно-цифровая строка. Я хочу получить только цифры из этой буквенно-цифровой строки. Как я естьИзвлечь числа из буквенно-цифровой строки в Android

string S = Call forwarding [112234]& Multiparty [434566] & Caller line identification[12345]&. 

Я хочу, чтобы получить строку как

string S = 112234 & 434566 &12345 & 

, так что я могу разделить эту строку с «&» и pupulate в ListView с помощью arrayadapter. В настоящее время я использую этот метод, и он показывает aphanumaric строку, как S в первом случае, я хочу, чтобы это было в секретном случае. Вот мой код.

String[] list={}; 
String ServerResponse = response.toString(); 
Log.d("Curretnts", "Server response"+ServerResponse); 
list =ServerResponse.split("&"); 
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1, list); 
listView1.setAdapter(adapter); 

ответ

3

Вы можете извлечь числа из строки, используя регулярное выражение.

Pattern p = Pattern.compile("\\d+"); 
Matcher m = p.matcher("Call forwarding [112234]& Multiparty [434566] & Caller line identification[12345]&."); 

while (m.find()) 
    System.out.println(m.group()); 

В вашем примере вам нужно добавить найденные предметы в String[] list={};.

+0

благодарит за помощь. Что делать, если я хочу получить только алфавиты вместо чисел, которые заменяют shoul («\\ d +»)? – MajorGeek

+0

Предложите вам ознакомиться с некоторыми учебниками регулярных выражений для простого сопоставления шаблонов http://www.vogella.com/articles/JavaRegularExpressions/article.html или http://www.zytrax.com/tech/web/regex.htm – evilone

 Смежные вопросы

  • Нет связанных вопросов^_^