c# - How to replace first occurrence of a substring within a string

Replace the first occurrence of a substring within a String
The String represents text as a sequence of UTF-16 code units. The String is a sequential collection of characters that is used to represent text. The String is a sequential collection of System.Char objects.

The following .net c# tutorial code demonstrates how we can replace the first occurrence of a substring within a String instance. So, in this .net c# tutorial code we will find the first occurrence of a substring within a String instance and replace this substring with another specified String.

Such as we have a String object where the ‘white’ substring exists multiple times in it. We have to replace only the first occurrence of the substring ‘white’ with another specified String ‘pink’ within the source String instance.

The Regex represents an immutable regular expression. The Regex() initializes a new instance of the Regex class. The Regex(String, RegexOptions) constructor initializes a new instance of the Regex class for the specified regular expression with options that modify the pattern.

The Regex(String pattern, RegexOptions options) method helps us to construct a Regex instance to find the first occurrence of a specified substring within a String instance and replace it with another String object. We have to pass the specified regular expression to the method as the pattern. We also pass the RegexOptions.IgnoreCase for the options parameter.

The Regex Replace() method replaces strings that match a regular expression pattern with a specified replacement String within a String instance.

The Regex(string input, string replacement, int count) method overload replaces a specified maximum number of Strings that match a regular expression pattern with a specified replacement String within the String instance. So, using this Replace(String, String, Int32) method we can replace the first occurrence of a substring with another String object within a String instance.
string-replace-first.aspx

<%@ Page Language="C#" AutoEventWireup="true"%>

<!DOCTYPE html>  
<script runat="server"> 
    protected void Button1_Click(object sender, System.EventArgs e)  
    {
        //this section create a string variable.
        string stringValue = "White gary red green white DarkBlue white";

        Label1.Text = "string..................<br />";
        Label1.Text += stringValue.ToString();

        //ignore case string replace using Regex
        Regex rex = new Regex("white", RegexOptions.IgnoreCase);

        // this line only replace first occurence of 'white'
        string returnString = rex.Replace(stringValue, "pink",1);

        Label1.Text += "<br /><br />replaced string (first occurence of 'white')........";
        Label1.Text += "<br />" + returnString.ToString();
    }  
</script>  
  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head id="Head1" runat="server">  
    <title>c# example - string replace first</title>  
</head>  
<body>  
    <form id="form1" runat="server">  
    <div>  
        <h2 style="color:MidnightBlue; font-style:italic;">  
            c# example - string replace first
        </h2>  
        <hr width="550" align="left" color="Gainsboro" />  
        <asp:Label   
            ID="Label1"   
            runat="server"  
            Font-Size="X-Large"
            >  
        </asp:Label>  
        <br /><br />
        <asp:Button   
            ID="Button1"   
            runat="server"   
            Text="string replace first"  
            OnClick="Button1_Click"
            Height="40"  
            Font-Bold="true"  
            />  
    </div>  
    </form>  
</body>  
</html>
More c# examples