问题描述
- java中字符串处理问题
-
在一个txt文件中,有几行字符串,每行的格式如下,
abc1110011110102
abc123001111010a
根据条件做字符串的转换,条件:
1.字符串以abc开头
2.字符串中包含字串001111
3.在字串001111之后的第二个非0字符串如果是数字的话改变成0,如果不是数字不改变
因此,上面给出的两个字符串结果为
abc1110011110100
abc123001111010a
解决方案
public static void main(String[] args) {
String s = "abc1110011110102";
String s1 = "abc123001111010a";
Pattern p = Pattern.compile("(abcd+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));
}
}
解决方案二:
字符串处理问题
时间: 2024-11-03 14:16:50