2

我曾尝试在 JAVA 中使用正则表达式来替换手机号码字符串中的任何有趣字符,但是,它似乎无法删除数字之间的“-”

这是我的代码,

// Remove all (,),-,.,[,],<,>,{,} from string

myMobileNumber.replaceAll("[^\\d]", "");

示例 65-12345678

它仍然允许 - 通过而不将其删除。=(

4

1 回答 1

5

您应该重新分配结果。String 是一个不可变对象,包括所有方法.replaceAll都不会修改它。

myMobileNumber = myMobileNumber.replaceAll("[^\\d]", "");

(顺便说一句,该模式"\\D"等效于"[^\\d]"。)

于 2012-11-01T13:19:08.327 回答