欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

字符串替換Replace僅替換第一個字符串匹配項

 更新時間:2013年12月26日 15:31:54   作者:  
C#里面的String.Replace(string,string)方法替換的時候是替換所有的匹配項,我們需要只替換第一個匹配項,寫一個方法來實現(xiàn)這個功能

復(fù)制代碼 代碼如下:

public static string Replace(string source, string match, string replacement)
        {
            char[] sArr = source.ToCharArray();
            char[] mArr = match.ToCharArray();
            char[] rArr = replacement.ToCharArray();
            int idx = IndexOf(sArr, mArr);
            if (idx == -1)
            {
                return source;
            }
            else
            {
                return new string(sArr.Take(idx).Concat(rArr).Concat(sArr.Skip(idx + mArr.Length)).ToArray());
            }
        }
        /// <summary>
        /// 查找字符數(shù)組在另一個字符數(shù)組中匹配的位置
        /// </summary>
        /// <param name="source">源字符數(shù)組</param>
        /// <param name="match">匹配字符數(shù)組</param>
        /// <returns>匹配的位置,未找到匹配則返回-1</returns>
        private static int IndexOf(char[] source, char[] match)
        {
            int idx = -1;
            for (int i = 0; i < source.Length - match.Length; i++)
            {
                if (source[i] == match[0])
                {
                    bool isMatch = true;
                    for (int j = 0; j < match.Length; j++)
                    {
                        if (source[i + j] != match[j])
                        {
                            isMatch = false;
                            break;
                        }
                    }
                    if (isMatch)
                    {
                        idx = i;
                        break;
                    }
                }
            }
            return idx;
        }

相關(guān)文章

  • C#關(guān)閉指定名字進(jìn)程的方法

    C#關(guān)閉指定名字進(jìn)程的方法

    這篇文章主要介紹了C#關(guān)閉指定名字進(jìn)程的方法,涉及C#進(jìn)程操作的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • 解析C#拼接Json串的幾種方法

    解析C#拼接Json串的幾種方法

    本文主要介紹了C#拼接Json串的幾種方法,主要包括了4種方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C#實現(xiàn)串口示波器

    C#實現(xiàn)串口示波器

    這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)串口示波器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C# Onnx實現(xiàn)DIS高精度圖像二類分割

    C# Onnx實現(xiàn)DIS高精度圖像二類分割

    這篇文章主要為大家詳細(xì)介紹了C# Onnx實現(xiàn)DIS高精度圖像二類分割的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • 關(guān)于C#基礎(chǔ)知識回顧--反射(二)

    關(guān)于C#基礎(chǔ)知識回顧--反射(二)

    其實說白了,反射就是能知道我們未知類型的類型信息這么一個東西.沒什么神秘可講!反射的核心是System.Type。System.Type包含了很多屬性和方法,使用這些屬性和方法可以在運行時得到類型信息
    2013-07-07
  • 詳解C#設(shè)計模式編程中的模板方法模式使用

    詳解C#設(shè)計模式編程中的模板方法模式使用

    這篇文章主要介紹了C#設(shè)計模式編程中的模板方法模式,模板方法模式比較好理解,即設(shè)定好算法骨架以后進(jìn)行代碼的反復(fù)利用,需要的朋友可以參考下
    2016-02-02
  • C#?使用原生?System.IO.Compression?實現(xiàn)?zip?的壓縮與解壓

    C#?使用原生?System.IO.Compression?實現(xiàn)?zip?的壓縮與解壓

    這篇文章主要介紹了C#?使用原生?System.IO.Compression?實現(xiàn)?zip?的壓縮與解壓,zip?是一個非常常見的壓縮包格式,本文主要用于說明如何使用代碼?文件或文件夾壓縮為?zip壓縮包及其解壓操作,需要的朋友可以參考下
    2022-09-09
  • C#多線程ThreadPool線程池詳解

    C#多線程ThreadPool線程池詳解

    這篇文章主要為大家詳細(xì)介紹了C#多線程ThreadPool線程池的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • C#?基于NAudio實現(xiàn)對Wav音頻文件剪切(限PCM格式)

    C#?基于NAudio實現(xiàn)對Wav音頻文件剪切(限PCM格式)

    本文主要介紹了C#基于NAudio工具對Wav音頻文件進(jìn)行剪切,可以將一個音頻文件剪切成多個音頻文件(限PCM格式),感興趣的小伙伴可以學(xué)習(xí)一下
    2021-11-11
  • WinForm項目開發(fā)中Excel用法實例解析

    WinForm項目開發(fā)中Excel用法實例解析

    這篇文章主要介紹了WinForm項目開發(fā)中Excel用法,非常實用,需要的朋友可以參考下
    2014-08-08

最新評論