我从联系簿中提取号码并将其发送到服务器。我得到这样的数字(+ 91)942 80-60 135 但我想要这样的结果 +9428060135 。+必须是字符串编号的第一个字符。
答案 0 :(得分:1)
根据您的示例,您希望用单个+
字符替换前缀。您还想从数字字符串中删除其他非数字字符。以下是您可以这样做的方法:
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+]", "");
但请注意,这将保留前缀中的数字,这与您的示例不同。
答案 1 :(得分:0)
您可以使用String.replace(oldChar, newChar)
。使用以下代码
String phone = "(+91)942 80-60 135"; // fetched string
String trimmedPhone = phone.replace("(","").replace(")","").replace("-","").trim();
我希望它对你有用。
答案 2 :(得分:-1)
检查一下。将您的字符串传递给此函数或按代码使用
String inputString =“(+91)942 80-60 135”;
Range(header.Offset(1, 0), header.End(xlDown)).Copy Destination:=ActiveWorkbook.Worksheets("Sheet2").Cells(2, GetHeaderColumn(header.Value))
' ^^^^^^^^^^^^^^