2015-10-14 6 views
0

Прежде всего, я не могу использования Pattern и Сличитель причин мы используем Java 1,5 и эти классы не выполняются. Я знаю, что могу сделать это, повторяя каждого персонажа, но я думаю, что это не оптимально.извлечение Строки цифр без рисунка и Сличитель

Шаблон для извлечения является **, число, которое содержит две звездочки **

Input String = "125, 136, 1**, 154, 200, 201, 250, 2**, 304, 307" 

выходы желаемых:

output1 (String) = "125, 136, 154, 200, 201, 250, 304, 307" 
output2 (String[]) = [1**],[2**] 
+0

Вам все равно придется перебирать все символы (или библиотечная функция). Вы имеете в виду оптимальную производительность или удобочитаемость? –

+2

Не являются ли «Pattern» и «Matcher» из Java 1.4? – Keppil

ответ

2

Простой метод заключается в разделении числа с помощью .split(), а затем проверить strings с ** в нем.

String[] s = "125, 136, 1**, 154, 200, 201, 250, 2**, 304, 307".split(", "); 
ArrayList<String> withAsterik = new ArrayList(); 
ArrayList<String> withoutAsterik = new ArrayList(); 

for(String str : s) 
{ 
    if(str.contains("**")){ 
    System.out.println(str); 
    withAsterik.add(str); 
    } 
    else 
    withoutAsterik.add(str); 
} 
+0

Я работаю над этим, но нет, если есть другие способы сделать это. –

+0

Не забывайте обрезать() «str» где-то – Jack

+0

@Jack Мне действительно нужно обрезать? разделительный разделитель равен ',' этого должно быть недостаточно? –

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