Подскажите, есть возможность задать так шаблон чтобы 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]=''
Это, помощью хитрого шаблона можно сделать ?
Здравствуйте, 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));
Здравствуйте, 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);
}
...
}
Здравствуйте, LobnYA, Вы писали:
LYA>Здравствуйте, SysMaker,
LYA>попробуй метод public String[] split(String regex, int limit) LYA>в твоём примере String m[]=txt.split(p, -1);
Интересно, но тогда получается на один больше чем надо.