gpt4 book ai didi

java - 正则表达式允许; JAVA 中至少 5 位数字并修剪前导/尾随分号

转载 作者:行者123 更新时间:2023-12-01 22:25:24 28 4
gpt4 key购买 nike

这就是我所追求的:

替换所有非数字、非分号的字符;什么都没有:“”。数字长度必须至少为 5 位。修剪前导和尾随分号;

所以:567834有效123456;654321;3456789 有效123;456 无效(数字太短),将替换为空字符串“”;123456;将被修剪为 123456;567890 将被修剪为 567890456789;将被修剪为 456789

我正在考虑使用replaceAll方法来完成这项工作。

str.replaceAll("(\\d+\\;?)*\\d+", "");

但这并没有考虑修剪前导和尾随分号,也不会用“”替换太短的数字。

感谢任何帮助!

最佳答案

我建议将问题分解为几个步骤。如果你这样做的话,这是一个简单的问题。单个正则表达式对于今天的开发和以后每天的阅读都是具有挑战性的。可读、易于理解的代码应该是您的目标。

String trimmedStr = str.trim();
String noSemicolons = trimmedStr.replaceAll(";", "");
Matcher matcher = Pattern.compile("^\d{5,}$").matcher(noSemicolons);
boolean isValid = matcher.matches();

关于java - 正则表达式允许; JAVA 中至少 5 位数字并修剪前导/尾随分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28898663/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com