boca:
Você tem alguma idéia de como eu poderia obter primeiro caractere após a segunda ponto da cadeia.
String str1 = "test.1231.asdasd.cccc.2.a.2";
String str2 = "aaa.1.22224.sadsada";
No primeiro caso, eu deveria ter a
e, em segundo 2
. Eu pensei sobre como dividir string com ponto e extrair primeiro caractere de terceiro elemento. Mas parece complicado e eu acho que não há melhor maneira.
Eugene:
Como cerca de um regex para isso?
Pattern p = Pattern.compile(".+?\\..+?\\.(\\w)");
Matcher m = p.matcher(str1);
if (m.find()) {
System.out.println(m.group(1));
}
A regex diz: um encontrar nada ou mais vezes em uma forma não-gananciosos ( .+?
), que deve ser seguido por um ponto ( \\.
), que novamente um nada ou mais vezes em uma forma não-gananciosos ( .+?
) seguido por um ponto ( \\.
) . Após isso foi combinado dar o primeiro caractere da palavra no primeiro grupo ( (\\w)
).