java字符串处理,如何将数字提取? 比如已知字符串: “AR1”、“TR1A”、"TR1B"...等等, 我如何提取其中的数字呢?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java中能运行正则的方法好像不多!具体怎么写啊? 是这样吗???package test;import java.util.ArrayList;import java.util.List;/** * @author mingjian.zheng */public class Test { private static List<String> list = new ArrayList<String>(); private static int num = 0; public static void getNum(String[] strs){ StringBuffer sb = new StringBuffer(); for(int i=0;i<strs[num].length();i++){ if(strs[num].charAt(i)>='0' && strs[num].charAt(i)<='9'){ sb.append(strs[num].charAt(i)); } } list.add(sb.toString()); num++; if(num < strs.length){ getNum(strs); }else{ return; } } public static void main(String[] args) { String[] strs = {"A4R1","T4R1A","TR1B"}; getNum(strs); for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } }}运行结果:41411 说说用正则该怎么写?难道用Pattern?没用过吖,感觉好像挺麻烦... 没用过 就多google 那样学的就深刻些 //这个只是匹配一个数字的正则表达式 Pattern pattern = null; Matcher matcher = null; String reg ="\\d"; pattern = Pattern.compile(reg); matcher = pattern.matcher("1A"); if(matcher.find()) System.out.println("This is "+matcher.group()); 谢谢楼上的教诲~其实我也google了,那些例子都挺复杂的...所以就没怎么看明白!( ⊙o⊙ )嘿嘿!见笑~ public static String getNum(String str) { Pattern pattern = Pattern.compile("\\d+"); Matcher matcher = pattern.matcher(str); while (matcher.find()) { return matcher.group(); } return null; } 请教:数据展示的java算法 jar的两种用法疑问 关于将类打包成.jar的问题 谁用过Jmagick?帮我看看这个。 我该如何实现java代码的无缝文件读取呢?给点思路呢? Applet 无法显示的问题 懂applet的请进来看看 如何编写一段代码,实现到另一个盘上读文件 Java的编程环境有哪些 java与网页相关的两个问题 多线程下还是单例吗 tell me why?
package test;import java.util.ArrayList;
import java.util.List;/**
* @author mingjian.zheng
*/
public class Test {
private static List<String> list = new ArrayList<String>();
private static int num = 0;
public static void getNum(String[] strs){
StringBuffer sb = new StringBuffer();
for(int i=0;i<strs[num].length();i++){
if(strs[num].charAt(i)>='0' && strs[num].charAt(i)<='9'){
sb.append(strs[num].charAt(i));
}
}
list.add(sb.toString());
num++;
if(num < strs.length){
getNum(strs);
}else{
return;
}
}
public static void main(String[] args) {
String[] strs = {"A4R1","T4R1A","TR1B"};
getNum(strs);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
运行结果:
41
41
1
//这个只是匹配一个数字的正则表达式
Pattern pattern = null;
Matcher matcher = null;
String reg ="\\d"; pattern = Pattern.compile(reg);
matcher = pattern.matcher("1A");
if(matcher.find())
System.out.println("This is "+matcher.group());
其实我也google了,那些例子都挺复杂的...所以就没怎么看明白!
( ⊙o⊙ )嘿嘿!见笑~
public static String getNum(String str) {
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
return matcher.group();
}
return null;
}