用IndexOf判斷重複,統計個數

在學習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的值就代表了該字符串中有多少個@。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章