18955302752 460036051532711 1 2 3 4 5
这样一行字符 输入一组正则表达式
1.能使冒个列(如”460036051532711“)的截取(如截取后两位前面的5位)
2.使两个列相加 如:第三列和第六列相加 =5
3.两个列字符串连接 如:第三列和第六列相连 14
4.第一列的189换成153
5.删除第三列
等等 高手研究下
最好java环境
如得到15355302752 15327 1 2 3 5 5 本人只能实现其中的一部分。。感觉这个方法不好
高手有好的解决方案吗?
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class test1 { public static void main(String[] args) {
String s = "";
Pattern pattern = Pattern.compile("\\d{4}(\\d*\t)\\d{2}(\\d{10})\\d*\t\\w*(\t\\d*\t\\d*)(\t[\u4e00-\u9fa5]{0,})$");
Matcher matcher = pattern.matcher("18955302752 460036051532711 4ffdafds 1 00000 中文字符");
while (matcher.find()) {
for(int i =1 ; i<=matcher.groupCount(); i++)
{
//System.out.println(matcher.group(i));
s += matcher.group(i);
}
}
System.out.println(s);
}
}
这样一行字符 输入一组正则表达式
1.能使冒个列(如”460036051532711“)的截取(如截取后两位前面的5位)
2.使两个列相加 如:第三列和第六列相加 =5
3.两个列字符串连接 如:第三列和第六列相连 14
4.第一列的189换成153
5.删除第三列
等等 高手研究下
最好java环境
如得到15355302752 15327 1 2 3 5 5 本人只能实现其中的一部分。。感觉这个方法不好
高手有好的解决方案吗?
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class test1 { public static void main(String[] args) {
String s = "";
Pattern pattern = Pattern.compile("\\d{4}(\\d*\t)\\d{2}(\\d{10})\\d*\t\\w*(\t\\d*\t\\d*)(\t[\u4e00-\u9fa5]{0,})$");
Matcher matcher = pattern.matcher("18955302752 460036051532711 4ffdafds 1 00000 中文字符");
while (matcher.find()) {
for(int i =1 ; i<=matcher.groupCount(); i++)
{
//System.out.println(matcher.group(i));
s += matcher.group(i);
}
}
System.out.println(s);
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货