在學習String的相關方法的時候,接觸到了IndexOf方法(當然還有LastIndexOf)。
它可以很方便地幫我們定位,當然它的作用還不止如此。
比如,有時候我們需要判斷一個字符或者子串是否重複,用IndexOf,不用統計,也能知道是否重複。
拿@爲例,如果在一個textBox中,要判斷是否重複可用如下作法:
int b = textBox1.Text.IndexOf('@');
if (b >= 0 && b != textBox1.TextLength - 1)
{
if (textBox1.Text.IndexOf('@', b + 1) > 0)
{
MessageBox.Show("@重複出現!");
}
}
另外,更進一步,順着上面的思路,似乎我們還可以用它來計數。
當第一個@的位置不在該字符串的最後一位時,則繼續向後檢索。
int k = 0,s;
int c = textBox3.Text.IndexOf('@');
if (c >= 0)
{
k = 1;
if(c != textBox3.TextLength - 1)
{
for (s = c + 1; s <= textBox3.TextLength - 1;s++ )
{
if (textBox3.Text.IndexOf('@',s) > 0)
{
k++;
}
}
}
}
首先,找到第一個目標字符,然後再規定往後的每次檢索,都從目標字符後一個開始,看看後面還有沒有@。
利用for循環來實現,最終K的值就代表了該字符串中有多少個@。