我想要構建一個可以獲取字符串(最好是文本塊的文本)的方法,它將識別並突出顯示字符串中的任何電話號碼。目標是讓用戶點擊任意號碼並直接呼叫或發短信(通過使用適當的啓動器)。從文本中提取電話號碼
我該如何解決這個問題?有任何想法嗎?先謝謝你!
我想要構建一個可以獲取字符串(最好是文本塊的文本)的方法,它將識別並突出顯示字符串中的任何電話號碼。目標是讓用戶點擊任意號碼並直接呼叫或發短信(通過使用適當的啓動器)。從文本中提取電話號碼
我該如何解決這個問題?有任何想法嗎?先謝謝你!
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!");
}
}
您可以使用Regular expression來做到這一點。
例子: -
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);
你想提取電話號碼或使用戶能夠點擊一個號碼並撥打電話/文本的解決方案? –
http://stackoverflow.com/questions/1559753/regular-expression-to-match-us-phone-numbers 像這樣使用正則表達式可能會有所幫助。 –
http://stackoverflow.com/questions/3764814/how-to-detect-telephone-numbers-in-a-text-and-replace-them可能重複。 – jbaylina