gpt4 book ai didi

java - 如何清理和打印\d{3}\d{3}\d{2}\d{2}格式的数字

转载 作者:行者123 更新时间:2023-11-30 10:04:57 30 4
gpt4 key购买 nike

我需要使用 Regex 格式化一个字符串,该字符串包含数字、字母 a-z 和 A-Z,同时还包含破折号和空格。

从用户输入我有02-219 8 53 24

输出应该是022 198 53 24

我正在使用正则表达式

[^A-Za-z0-9\\s.]

和Java

String abc = "02-219 8 53 24";
String hello = abc.replaceAll("[^A-Za-z0-9\\s.]", " ");
System.out.println(hello.replaceAll("(\\S\\d{3})", ""));

导致02 219 8 53 24

最佳答案

你可以使用

.replaceAll("\\D+", "").replaceFirst("^(\\d{3})(\\d{3})(\\d{2})(\\d{2})$", "$1 $2 $3 $4")

.replaceAll("\\D+", "") 部分删除所有非数字字符(因此,有问题的字符串 becomes 0221985324),和第二个 replaceFirst("^(\\d{3})(\\d{3})(\\d{2})(\\d{2})$", "$1 $2 $3 $4 ") 将数字分成几组并在它们之间插入空格。参见 this regex demo此步骤 2.

Java demo :

String abc = "02-219 8 53 24";
String hello = abc.replaceAll("\\D+", "");
System.out.println(hello.replaceFirst("^(\\d{3})(\\d{3})(\\d{2})(\\d{2})$", "$1 $2 $3 $4"));
// => 022 198 53 24

关于java - 如何清理和打印\d{3}\d{3}\d{2}\d{2}格式的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55582414/

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