Я даюсь строку, которая может включать в себя текст и числовые данные:Извлечение числовые данные из строки в заводной
Примеры:
«100 фунтов» «Я думаю, что 173 фунтов» «73 фунтов. "
Я ищу чистый способ извлечь только числовые данные из этих строк.
Вот что я сейчас делаю, чтобы лишить ответ:
def stripResponse(String response) {
if(response) {
def toRemove = ["lbs.", "lbs", "pounds.", "pounds", " "]
def toMod = response
for(remove in toRemove) {
toMod = toMod?.replaceAll(remove, "")
}
return toMod
}
}
Решение, которое я в конечном итоге реализации на основе рекомендаций выше, я хочу только возьмите первое число (если есть кратные, я аннулирую ответ). Спасибо @tim_yates! 'def extractNumericData (String response) { if (response) { def номерList = response.findAll (/[0-9]+.[0-9]*|[0-9]*.[0-9 ] + | [0-9] + /) , если (numberList.size() == 1) { возврата numberList.get (0) в качестве BigDecimal } еще { возврата -1 }} } ' –