我需要删除字符串的字符串。有几种类型,这里有一些例子:
“82.882英尺” “101in” “15.993ft³” “10.221毫米”
等。我需要删除长度分隔符,所以我将留下字符串:
“82.882” “101” “15.993” “10.221”
想法?
答案 0 :(得分:1)
尝试在字符串上使用replaceAll,指定所有不是小数点或数字的字符:
myString = myString.replaceAll("[^0-9\\.]","");
" ^ 0-9 \&#34。表示不是数字0到9或小数的所有字符。我们放两个斜杠的原因是为了逃避这个时期,因为它在Java正则表达式中具有与文字字符不同的内涵。'。
答案 1 :(得分:0)
只需使用正则表达式:
String result = input.replaceAll("[^0-9.]", "");
答案 2 :(得分:0)
正则表达式可能最适用于此。
Pattern lp = Pattern.compile("([\\d.]+)(.*)");
// Optional cleanup using Apache Commons StringUtils
currentInput = StringUtils.upperCase(
StringUtils.deleteWhitespace(currentInput));
Matcher lpm = lp.matcher(currentInput);
if( lpm.matches() )
{
// Values
String value = lpm.group(1);
// And the trailing chars for further processing
String measure = lpm.group(2);
}