问个简单的正则,在线等,马上结贴,谢谢 怎么样把一个字符串,例如:aaaaaa100K中的100提出来。规则:字符串长度不定,数字出现次数不定,数字长度不定,但是要取得数字最后有一个“K”字符,例如:100aaa100bbbccc200K,取出结果为200300bb14b500K200取出结果为500.假如出现300b500k400kaaaa,取出结果为400,即如果多次出现“数字+k”的组合,取出最后出现的“数字+k”. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test { public static void main(String[] args) { String str = "300b500k400kaaaa450Kdd"; String p = "\\d+[kK](?!.*?\\d+[kK].*?)"; Pattern pattern = Pattern.compile(p); Matcher matcher = pattern.matcher(str); while(matcher.find()) { System.out.println(matcher.group()); } }} ^[/d?K]$拿出來以后在substring下 改一下哈String p = "\\d+[kK](?!.*\\d+[kK])"; aaa408K,楼上的不对,取不出来了,而且还是把K取出来了,能不能只取数字?谢谢关注! 你直接再取个子串,或是replaceall一下,把k去掉不就可以了么 那我的那个就改成这样子:String p = "\\d+(?=[kK])(?!.*\\d+[kK])"; 和正则关系不大public class Test { /** * @param args */ public static void main(String[] args) { String s = "300bb14b500K200"; int i = s.lastIndexOf("K"); String s1 = s.substring(0,i); char[] c = s1.toCharArray(); int k = 0; for(i = c.length - 1; i >= 0; i--){ if(c[i] > '9' || c[i] < '0'){ k = i + 1; break; } } String s2 = s1.substring(k); System.out.println(s2); }} bao的正則真是你們老大是不是專門要你負責正則的啊 bao110908是正则方面牛人,谢谢。结贴了 跪求JAVA版的StringResolution.cpp,附C源代码 JCreator动态随笔问题 求助:JAVA窗口切换面板,实现不同的界面 谁知道下面的问题????????????? 兄弟们,请教一下,我等 windows下怎么运行一个编译好的*.class文件?? 我刚学习JAVA,请问排序的时候怎么从键盘输入的问题(在线等待) 怎么样实现图象类型的转换?jpg-->gif,...等~~ 关于java规范 byte[] 转换成中文的问题?详情如下?急!!!!!! 求助DES加密问题 求救!!!大家进来帮帮忙!!
import java.util.regex.Pattern;public class Test { public static void main(String[] args) {
String str = "300b500k400kaaaa450Kdd";
String p = "\\d+[kK](?!.*?\\d+[kK].*?)";
Pattern pattern = Pattern.compile(p);
Matcher matcher = pattern.matcher(str);
while(matcher.find()) {
System.out.println(matcher.group());
}
}
}
拿出來以后在substring下
public class Test { /**
* @param args
*/
public static void main(String[] args) {
String s = "300bb14b500K200";
int i = s.lastIndexOf("K");
String s1 = s.substring(0,i);
char[] c = s1.toCharArray();
int k = 0;
for(i = c.length - 1; i >= 0; i--){
if(c[i] > '9' || c[i] < '0'){
k = i + 1;
break;
}
}
String s2 = s1.substring(k);
System.out.println(s2);
}}
你們老大是不是專門要你負責正則的啊