Buenos días,
yo no lo habría hecho así, para no complicarme habría hecho lo siguiente:
Código Java:
Ver originalString linea
= "esto es para @pepe @ivan @hi saludos"; String[] palabras
= linea.
split(" "); List<String> palabrasConArroba = new ArrayList<String>();
int j=0;
for(int i=0;i<palabras.length;i++){
if(palabras[i].charAt(0)=='@'){
palabrasConArroba.add(palabras[i]);
j++;
}
}
System.
out.
println(palabrasConArroba
);
Con el método .
split creo un array con las distintas palabras del String separandolas mediante el espacio " ". Esto me genera un array que contiene:
[esto,es,para,@pepe,@ivan,@hi,saludos]
Recorro ese array y para cada posición compruebo si empieza por el carácter '@' en caso de que así sea añado esa palabra a una lista de Strings.
Ya tengo entonces en una lista las palabras que empiezan por '@'.
[@pepe, @ivan, @hi]
Si lo que necesitas es un String, simplemente recorres la lista y generas el String que necesites.
Un saludo.