文字列 (できればテキストブロックのテキスト) を取得し、文字列内の電話番号を識別して強調表示するメソッドを構築したいと考えています。目標は、ユーザーが任意の番号をタップして、(適切なランチャーを使用して) 直接電話をかけたり、テキストを送信したりできるようにすることです。
どうすればこれを解決できますか? 何か案は?前もって感謝します!
文字列 (できればテキストブロックのテキスト) を取得し、文字列内の電話番号を識別して強調表示するメソッドを構築したいと考えています。目標は、ユーザーが任意の番号をタップして、(適切なランチャーを使用して) 直接電話をかけたり、テキストを送信したりできるようにすることです。
どうすればこれを解決できますか? 何か案は?前もって感謝します!
これを行うには、正規表現を使用できます。
例:-
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);
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!");
}
}