-2

文字列 (できればテキストブロックのテキスト) を取得し、文字列内の電話番号を識別して強調表示するメソッドを構築したいと考えています。目標は、ユーザーが任意の番号をタップして、(適切なランチャーを使用して) 直接電話をかけたり、テキストを送信したりできるようにすることです。

どうすればこれを解決できますか? 何か案は?前もって感謝します!

4

2 に答える 2

2

これを行うには、正規表現を使用できます。

例:-

var s= new Regex(@"(\(?[0-9]{3}\)?)?\-?[0-9]{3}\-?[0-9]{4}",  
RegexOptions.IgnoreCase); //North American number

var text = "Some Texxt";
MatchCollection m= s.Matches(text);
于 2013-08-18T08:48:39.013 に答える
0
String s = "abc055667788abc";
string phoneNumber;
foreach(char c in s)
{
    if(Char.isNumber(c) || c == " " || c == "+")
    {
        phoneNumber = phoneNumber + c;
        minimumDigits++;
        if(minimumDigits >= 9)
        {
            NumberDetected(phoneNumber);
        }
    }
    else
    {
        minimumDigits = 0;
    }
}

NumberDetected(string rawNumber)
{ 
    int plusses = 0;
    foreach(char c in rawNumber)
    {
        if(c == "+")
        {
            plusses++;
        }
    }
    if(plusses <= 1)
    {
        if(rawNumber.StartsWith("+")
        {
            NumberDone(rawNumber);
        }
    }
    else
    {
        MessageBox.Show("Number contained too many plusses!");
    }
}
于 2013-08-18T08:51:35.393 に答える