从头开始删除零
Remove zeros from begining
我正在尝试使用正则表达式(非捕获组)删除值中的零。有人有想法吗?
Matcher matcher = Pattern.compile("(?:[0]+)?(\S+)").matcher("00100");//.group(0));
//Matcher matcher = pattern.matcher(mydata);
if(matcher.matches()) {
System.out.println("value "+matcher.group(0));
}
如果你想删除前导零,你可以只使用 replaceAll
:
String input = "00100";
input = input.replaceAll("^0+([^0].*)$", "");
str.replaceAll("^0+(?!$)", "")
我找到了解决我自己问题的方法:
public static void main(String[] args) {
extractValuesFromRegex("(?:0+|)(\d+)", "00123");
extractValuesFromRegex("(?:0+|)(\d+)", "123");
extractValuesFromRegex("(\d+)", "00123");
extractValuesFromRegex("(\d+)", "00123");
}
public static final String extractValuesFromRegex(String regex, String input) {
String extractevalue = input;
Matcher matcher = Pattern.compile(regex).matcher(input);
if (matcher.matches()) {
extractevalue = matcher.group(1);
}
return extractevalue;
}
我正在尝试使用正则表达式(非捕获组)删除值中的零。有人有想法吗?
Matcher matcher = Pattern.compile("(?:[0]+)?(\S+)").matcher("00100");//.group(0));
//Matcher matcher = pattern.matcher(mydata);
if(matcher.matches()) {
System.out.println("value "+matcher.group(0));
}
如果你想删除前导零,你可以只使用 replaceAll
:
String input = "00100";
input = input.replaceAll("^0+([^0].*)$", "");
str.replaceAll("^0+(?!$)", "")
我找到了解决我自己问题的方法:
public static void main(String[] args) {
extractValuesFromRegex("(?:0+|)(\d+)", "00123");
extractValuesFromRegex("(?:0+|)(\d+)", "123");
extractValuesFromRegex("(\d+)", "00123");
extractValuesFromRegex("(\d+)", "00123");
}
public static final String extractValuesFromRegex(String regex, String input) {
String extractevalue = input;
Matcher matcher = Pattern.compile(regex).matcher(input);
if (matcher.matches()) {
extractevalue = matcher.group(1);
}
return extractevalue;
}