Самым простым вариантом может быть просто использовать String#split
:
String s = "5634-abofrda/+l8908";
String nums = s.split("-")[0];
Обратите внимание, что в случае, когда дефис не должен появляться во входной строке, тогда nums
будет просто всей строкой.
Или, возможно, вы хотите это:
String s = "5634-abofrda/+l8908";
String nums = s.split("(?=\\D)")[0];
Взгляд (?=\D)
будет разбивать строку каждый раз, когда есть нецифровый символ.Это оставило бы первые цифры в первой строке массива разбиения.