У меня есть этот конвертер, который используется для получения или установить метку в поле со списком:Получить номер из строки
public class GroupConverter extends StringConverter<ListGroupsObj>
{
@Override
public String toString(ListGroupsObj obj)
{
return obj.getGroupId() + " - " + obj.getGroupName();
}
@Override
public ListGroupsObj fromString(String obj)
{
Scanner fi = new Scanner(obj);
//anything other than alphanumberic characters,
//comma, dot or negative sign is skipped
fi.useDelimiter("[^\\p{Alnum},\\.-]");
while (true)
{
if (fi.hasNextInt()){
//System.out.println("Int: " + fi.nextInt());
return ListGroupsObj.newInstance().groupId(fi.nextInt());
}
break;
}
//TODO when you type for example "45 - NextGroup" you want to take only tyhe number"
return ListGroupsObj.newInstance().groupId(fi.nextInt());
}
}
Например, когда я типа «45 - NextGroup» Я хотел бы получить только номер из значения. Можете ли вы помочь мне реализовать это?
если obj.getGroupId() возвращает строку, вы можете просто сделать 'Integer.parseInt (obj.getGroupId());' – Kon
Аналогично HTTP: // StackOverflow .com/questions/2367381/extract-numbers-from-a-string-java – MariuszS
Я обновил код. –