ambow9527 2012-02-03 13:57
浏览 263
已采纳

正则表达式解析字符串

abc.txt文件中有N行记录如下,共六个字段,分别为姓名,性别,年龄,出生年月日,家庭地址,联系电话。
用[b][color=darkred]正则表达式[/color][/b]按[b][color=darkred]字段解析[/color][/b]从该文件中读出的一行行字符串,输出至控制台:

姓名 性别 年龄 出生年月日 家庭地址 联系电话
张三 男 27 1986-01-01 江苏省苏州市南德路387-2号 13112347890
左冷禅 男 28 1985-07-22 上海市南德路111号 13112345678
常盘樱子 女 31 1982-11-11 浙江省杭州市南德路211号 13112340000

用[b][color=red] Java[/color] [/b]写,折腾了半天还是写不对呀,望大家多多帮忙呀,谢谢!

  • 写回答

2条回答 默认 最新

  • UltraNi 2012-02-14 00:51
    关注

    String a = "姓名 性别 年龄 出生年月日 家庭地址 联系电话 ";
    Pattern pattern = Pattern.compile("(\S*)\s*(\S*)\s*(\S*)\s*(\S*)\s*(\S*)\s*(\S*)\s*");
    Matcher matcher = pattern.matcher(a);
    if (matcher.matches()) {
    System.out.println(matcher.group(1));
    System.out.println(matcher.group(2));
    System.out.println(matcher.group(3));
    System.out.println(matcher.group(4));
    System.out.println(matcher.group(5));
    System.out.println(matcher.group(6));
    }

    这是单个的,多个的用循环就好了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大