java 截取字符串的问题~~~~急~

来源:百度知道 编辑:UC知道 时间:2024/06/15 12:01:34
Java swing中,有一个text框,里面是123456Mhz ,我想gettext时只获取数字,怎么弄???(这个数字可能更长或更短,单位也可能换成别的,另外支持小数啊)~~~~~~~~~~~~

用正则表达式吧,举个例子如下:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {

public static void main(String[] args) {
String data="123456.11Mhz";
Pattern pt=Pattern.compile("([0-9]|\\.)*");
Matcher m=pt.matcher(data);
m.find();
String result=m.group();
System.out.println(result);
}
}

实际应用的时候写个方法,传入data,返回result就行了

写了个简单的程序,希望有所帮助
pick方法是用来提取数字的方法.返回值即提取出的呃数字

public class NumberPicker {
public static int pick(String str) {
char[] chs = str.toCharArray();
int result = 0;
for (char ch : chs) {
if (ch > '9' || ch < '0') {
break;// 如果当前字符不是数字则跳出循环
}
result *= 10;
result += ch - '0';
}
return result;
}

public static void main(String[] args) {