如何从字符串中删除特殊字符,除了 在Android中



我正在从联系书中获取数字并将其发送到服务器。我得到这样的数字( 91(942 80-60 135 ,但我希望像这样的结果 9428060135 。 必须是字符串号的第一个字符。

给定示例,您想用单个+字符替换前缀。您还需要从数字字符串中删除其他非数字字符。您可以做到这一点:

String number = "(+91)942 80-60 135";
number = "+" + number.replaceAll("\(\+\d+\)|[^\d]", "");

正则与任何前缀匹配(左Paren,然后是+,然后是一个或多个数字,然后是右Paren(任何非数字字符,然后将其删除。根据需要将其连接至领先的+。此代码还将在数字字符串中处理+字符,例如+9428060135++++(+91)9428060135+++

如果您只想删除任何不是数字或+的字符,则代码为:

String number = "(+91)942 80-60 135";
number = number.replaceAll("[^\d+]", "");

,但请注意,这将保留前缀中的数字,该数字与您的示例不同。

您可以使用String.replace(oldChar, newChar)。使用下面的代码

String phone = "(+91)942 80-60 135"; // fetched string
String  trimmedPhone = phone.replace("(","").replace(")","").replace("-","").trim();

我希望它对您有用。

检查一下。将您的字符串传递到此功能或根据代码使用

使用

字符串inputString ="( 91(942 80-60 135";

public void removeSpecialCharacter(String inputString) {
    String replaced = inputString.replaceAll("[(\-)]", "");
    String finalString = replaced.replaceAll(" ", "");
    Log.e("String Output", " " + replaced + " " + second);
}

最新更新