Apex - 从字符串中删除除“+”之外的特殊字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apex - 从字符串中删除除“+”之外的特殊字符相关的知识,希望对你有一定的参考价值。

在Apex中,我想删除字符串中除“+”之外的所有特殊字符。这个字符串实际上是一个电话号码。我做了以下事情。

      String sampleText = '+44 597/58-31-30';
      sampleText = sampleText.replaceAll('\D','');
      System.debug(sampleText);

所以它打印的是44597583130.但是我想保持符号+因为它代表00。

有人可以帮我弄这个吗 ?

答案

可能的解决方案

String sampleText = '+44 597/58-31-30';
// exclude all characters which you want to keep 
System.debug(sampleText.replaceAll('[^\+|\d]',''));

// list explicitly each char which must be replaced    
System.debug(sampleText.replaceAll('/|-| ',''));

两种情况下的输出都是相同的

| DEBUG | 44597583130

| DEBUG | 44597583130

编辑

String sampleText = '+0032 +497/+59-31-40';
System.debug(sampleText.replaceAll('(?!^\+)[^\d]',''));

| DEBUG | 0032497593140

以上是关于Apex - 从字符串中删除除“+”之外的特殊字符的主要内容,如果未能解决你的问题,请参考以下文章

从 PHP 中的字符串中删除除字母数字字符之外的所有内容

从字符串中删除非数字字符(不包括句点和逗号)(即删除除数字、逗号和句点之外的所有字符)

如何从python中的unicode字符串中删除除数字和“,”之外的所有字符?

从电话号码字符串条目中删除所有特殊字符,除了 + 仅出现在第一位 [关闭]

如何从字符串中删除除字母、数字、空格、感叹号和问号之外的所有内容?

JavaScript:如何从 JSON 字符串中删除除值中的空格之外的所有空格?