jh012519 2016-05-07 08:22 采纳率: 0%
浏览 1202

java中字符串处理问题

在一个txt文件中,有几行字符串,每行的格式如下,
abc1110011110102
abc123001111010a
根据条件做字符串的转换,条件:
1.字符串以abc开头
2.字符串中包含字串001111
3.在字串001111之后的第二个非0字符串如果是数字的话改变成0,如果不是数字不改变
因此,上面给出的两个字符串结果为
abc1110011110100
abc123001111010a

  • 写回答

1条回答 默认 最新

  • tony4geek 2016-05-07 09:06
    关注
     public static void main(String[] args) {
            String s = "abc1110011110102";
            String s1 = "abc123001111010a";
    
            Pattern p = Pattern.compile("(abc\\d+001111.*?[^0]{1}.*?)([^0]{1})(.*?)");
            Matcher m = p.matcher(s1);
            if (m.find() && m.group(2).matches("\\d")) {
                System.out.println(m.group(1) + "0" + m.group(3));
            }
    
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?