Помогите с шаблоном для String.split
От: SysMaker  
Дата: 13.07.07 19:31
Оценка:
Подскажите, есть возможность задать так шаблон чтобы split не сьедал последние пустые поля.
String txt ="1:2::4:::";
String p =":";
String m[]=txt.split(p);
Дает m[0]="1",m[1]="2"; m[2]="", m[3]="4"; Последние пустые элементы сьедены.
А хотелось бы
m[0]="1",m[1]="2"; m[2]="", m[3]="4", m[4]='', m[5]=''
Это, помощью хитрого шаблона можно сделать ?
Re: Помогите с шаблоном для String.split
От: qwier Украина  
Дата: 14.07.07 18:00
Оценка:
Здравствуйте, SysMaker, Вы писали:

SM>Подскажите, есть возможность задать так шаблон чтобы split не сьедал последние пустые поля.

SM>m[0]="1",m[1]="2"; m[2]="", m[3]="4", m[4]='', m[5]=''
SM>Это, помощью хитрого шаблона можно сделать ?

Может тут лучше Pattern использовать? Что-то типа
         Pattern p = Pattern.compile("(\\d*):");
         Matcher m = p.matcher("1:2::4:::");
         while (m.find())
             System.out.println(m.group(1));
... << RSDN@Home 1.2.0 alpha rev. 685>>
Re: Помогите с шаблоном для String.split
От: LobnYA  
Дата: 16.07.07 04:38
Оценка: 6 (2)
Здравствуйте, SysMaker,

попробуй метод public String[] split(String regex, int limit)
в твоём примере String m[]=txt.split(p, -1);
Re[2]: Помогите с шаблоном для String.split
От: bolshik Россия http://denis-zhdanov.blogspot.com/
Дата: 16.07.07 06:34
Оценка: 1 (1)
Здравствуйте, qwier, Вы писали:

Q>Может тут лучше Pattern использовать? Что-то типа

Q>
Q>         Pattern p = Pattern.compile("(\\d*):");
Q>         Matcher m = p.matcher("1:2::4:::");
Q>         while (m.find())
Q>             System.out.println(m.group(1));
Q>




package java.lang;

...

public final class String ... {

    ...

    public String[] split(String regex, int limit) {
        return Pattern.compile(regex).split(this, limit);
    }

    ...

}
http://denis-zhdanov.blogspot.com
Re[2]: Помогите с шаблоном для String.split
От: SysMaker  
Дата: 16.07.07 17:49
Оценка:
Здравствуйте, LobnYA, Вы писали:

LYA>Здравствуйте, SysMaker,


LYA>попробуй метод public String[] split(String regex, int limit)

LYA>в твоём примере String m[]=txt.split(p, -1);
Интересно, но тогда получается на один больше чем надо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.