用正则表达式将字符替换为数字

时间:2019-03-08 10:22:00

标签: java regex character replaceall

我想将String中的字符替换为数字。例如,

Input: abcdefghia
Output: 1234567891

实际上,即使使用其他语言,也可以用其他任何字符代替数字

所以我的想法是创建一个程序,将字符替换为字符,但使用另一种语言。我想了解最佳做法,如何完成这样的任务。

这是我的解决方案。我们可以使用正则表达式并为每个字符创建模式,然后使用方法replaceall()替换字符串中的所有字符

1 个答案:

答案 0 :(得分:1)

Java> 8具有带有lambda的replaceAll:

String output = Pattern.compile("[A-z]").matcher(input)
    .replaceAll(mr -> String.valueOf((mr.group().charAt(0) % 32) % 10));

由于字母以32范围开头+ 1,a-> 1,...,i-> 9,j-> 0,k- > 1,...