gpt4 book ai didi

android - 在字符串中查找电话号码

转载 作者:行者123 更新时间:2023-11-30 03:40:31 25 4
gpt4 key购买 nike

我在查找字符串中的电话号码时遇到问题。

我有函数:

   public void getPhoneNumber()
{
Pattern intsOnly = Pattern.compile("\\d+");
Matcher makeMatch = intsOnly.matcher(number);
makeMatch.find();
String result = makeMatch.group();
Log.i("Pattern", result);
}

但我的结果很糟糕。

我的字符串:

String number = "String string s. s. str. 23-232 12 23 adsdsa"

最佳答案

您的号码是否始终采用 23-232 12 23 的格式?如果是这样,您可以尝试以下操作。

试试下面的

    String s="String  string s. s. str. 23-232 12 23 adsdsa";
Pattern p = Pattern.compile("[0-9]{2}[-][0-9]{3}[ ][0-9]{2}[ ][0-9]{2} ");
// match 2 numbers followed by -,
// match 3 numbers followed by space.
// match 2 numbers followed by space.
// match 2 numbers followed by space.
Matcher m = p.matcher(s);
if(m.find()) {
System.out.println("............"+m.group(0));
}

编辑:

    Pattern p = Pattern.compile("(\\([0-9]{2}\\)|[0-9]{2})[ ][0-9]{3}[ ][0-9]{2,2}[ ][0-9]{2} ");

使用或运算符匹配 (23) 或 23

也可以使用replace方法去掉圆括号

String s="String  string s. s. str. (23) 232 32 34  11111adsds0000000000000000a0";
String r = s.replace("(","");
String r2= r.replace(")", "");
System.out.println(r2);
//String string s. s. str. 23 232 32 34 11111adsds0000000000000000a0

关于android - 在字符串中查找电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15817340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com