String.Replace 方法

定义

返回一个新字符串,其中指定 Unicode 字符或 String 当前字符串中的所有匹配项都替换为另一个指定的 Unicode 字符或 String

重载

名称 说明
Replace(Char, Char)

返回一个新字符串,在该字符串中,此实例中指定 Unicode 字符的所有匹配项都替换为另一个指定的 Unicode 字符。

Replace(String, String)

返回一个新字符串,其中当前实例中指定字符串的所有匹配项都替换为另一个指定的字符串。

Replace(String, String, StringComparison)

返回一个新字符串,在该字符串中,当前实例中指定字符串的所有匹配项都替换为另一个指定的字符串,并使用提供的比较类型。

Replace(String, String, Boolean, CultureInfo)

返回一个新字符串,在该字符串中,当前实例中指定字符串的所有匹配项都替换为另一个指定的字符串,并使用提供的区域性和区分大小写。

Replace(Char, Char)

返回一个新字符串,在该字符串中,此实例中指定 Unicode 字符的所有匹配项都替换为另一个指定的 Unicode 字符。

public:
 System::String ^ Replace(char oldChar, char newChar);
public string Replace(char oldChar, char newChar);
member this.Replace : char * char -> string
Public Function Replace (oldChar As Char, newChar As Char) As String

参数

oldChar
Char

要替换的 Unicode 字符。

newChar
Char

要替换所有匹配项的 oldCharUnicode 字符。

返回

一个等效于此实例的字符串,只不过所有实例 oldChar 都替换为 newChar。 如果在 oldChar 当前实例中找不到,该方法将返回未更改的当前实例。

示例

以下示例通过替换一系列数字之间的空白来创建逗号分隔值列表。

string str = "1 2 3 4 5 6 7 8 9";
Console.WriteLine($"Original string: \"{str}\"");
Console.WriteLine($"CSV string:      \"{str.Replace(' ', ',')}\"");

// This example produces the following output:
// Original string: "1 2 3 4 5 6 7 8 9"
// CSV string:      "1,2,3,4,5,6,7,8,9"
let str = "1 2 3 4 5 6 7 8 9"
printfn $"Original string: \"{str}\""
printfn $"CSV string:      \"{str.Replace(' ', ',')}\""

// This example produces the following output:
// Original string: "1 2 3 4 5 6 7 8 9"
// CSV string:      "1,2,3,4,5,6,7,8,9"
Class stringReplace1
   Public Shared Sub Main()
      Dim str As [String] = "1 2 3 4 5 6 7 8 9"
      Console.WriteLine("Original string: ""{0}""", str)
      Console.WriteLine("CSV string:      ""{0}""", str.Replace(" "c, ","c))
   End Sub
End Class
' This example produces the following output:
' Original string: "1 2 3 4 5 6 7 8 9"
' CSV string:      "1,2,3,4,5,6,7,8,9"

注解

此方法执行序号(区分大小写和不区分区域性)搜索以查找 oldChar

注释

此方法不会修改当前实例的值。 而是返回一个新字符串,其中所有匹配 oldChar 项都替换为 newChar

由于此方法返回修改后的字符串,因此可以将对该方法的连续调用 Replace 链接在一起,以对原始字符串执行多个替换。 方法调用从左到右执行。 下面的示例进行了这方面的演示。

string s = new('a', 3);
Console.WriteLine($"The initial string: '{s}'");
s = s.Replace('a', 'b').Replace('b', 'c').Replace('c', 'd');
Console.WriteLine($"The final string: '{s}'");

// The example displays the following output:
//       The initial string: 'aaa'
//       The final string: 'ddd'
let s = new string('a', 3)
printfn $"The initial string: '{s}'"
let s2 = s.Replace('a', 'b').Replace('b', 'c').Replace('c', 'd')
printfn $"The final string: '{s2}'"

// The example displays the following output:
//       The initial string: 'aaa'
//       The final string: 'ddd'
Module Example
   Public Sub Main()
      Dim s As New String("a"c, 3)
      Console.WriteLine("The initial string: '{0}'", s)
      s = s.Replace("a"c, "b"c).Replace("b"c, "c"c).Replace("c"c, "d"c)
      Console.WriteLine("The final string: '{0}'", s)
   End Sub
End Module
' The example displays the following output:
'       The initial string: 'aaa'
'       The final string: 'ddd'

另请参阅

适用于

Replace(String, String)

返回一个新字符串,其中当前实例中指定字符串的所有匹配项都替换为另一个指定的字符串。

public:
 System::String ^ Replace(System::String ^ oldValue, System::String ^ newValue);
public string Replace(string oldValue, string newValue);
member this.Replace : string * string -> string
Public Function Replace (oldValue As String, newValue As String) As String

参数

oldValue
String

要替换的字符串。

newValue
String

要替换所有匹配项的 oldValue字符串。

返回

与当前字符串等效的字符串,只不过所有实例 oldValue 都替换为 newValue。 如果在 oldValue 当前实例中找不到,该方法将返回未更改的当前实例。

例外

oldValuenull

oldValue 是空字符串(“)。

示例

以下示例演示如何使用 Replace 该方法更正拼写错误。

string errString = "This docment uses 3 other docments to docment the docmentation";

Console.WriteLine($"The original string is:{Environment.NewLine}'{errString}'{Environment.NewLine}");

// Correct the spelling of "document".
string correctString = errString.Replace("docment", "document");

Console.WriteLine($"After correcting the string, the result is:{Environment.NewLine}'{correctString}'");

// This code example produces the following output:
//
// The original string is:
// 'This docment uses 3 other docments to docment the docmentation'
//
// After correcting the string, the result is:
// 'This document uses 3 other documents to document the documentation'
//
open System

let errString = "This docment uses 3 other docments to docment the docmentation"

printfn $"The original string is:{Environment.NewLine}'{errString}'{Environment.NewLine}"

// Correct the spelling of "document".

let correctString = errString.Replace("docment", "document")

printfn $"After correcting the string, the result is:{Environment.NewLine}'{correctString}'"

// This code example produces the following output:
//
// The original string is:
// 'This docment uses 3 other docments to docment the docmentation'
//
// After correcting the string, the result is:
// 'This document uses 3 other documents to document the documentation'
//
Public Class ReplaceTest
    
    Public Shared Sub Main()
        Dim errString As String = "This docment uses 3 other docments to docment the docmentation"
                
        Console.WriteLine("The original string is:{0}'{1}'{0}", Environment.NewLine, errString)

        ' Correct the spelling of "document".  
        Dim correctString As String = errString.Replace("docment", "document")
      
        Console.WriteLine("After correcting the string, the result is:{0}'{1}'", Environment.NewLine, correctString)
    End Sub
End Class
'
' This code example produces the following output:
'
' The original string is:
' 'This docment uses 3 other docments to docment the docmentation'
'
' After correcting the string, the result is:
' 'This document uses 3 other documents to document the documentation'
'

注解

如果是newValue,则会删除所有匹配项oldValuenull

注释

此方法不会修改当前实例的值。 而是返回一个新字符串,其中所有匹配 oldValue 项都替换为 newValue

此方法执行序号(区分大小写和不区分区域性)搜索以查找 oldValue

由于此方法返回修改后的字符串,因此可以将对该方法的连续调用 Replace 链接在一起,以对原始字符串执行多个替换。 方法调用从左到右执行。 下面的示例进行了这方面的演示。

string s = "aaa";
Console.WriteLine($"The initial string: '{s}'");
s = s.Replace("a", "b").Replace("b", "c").Replace("c", "d");
Console.WriteLine($"The final string: '{s}'");

// The example displays the following output:
//       The initial string: 'aaa'
//       The final string: 'ddd'
let s = "aaa"
printfn $"The initial string: '{s}'"
let s2 = s.Replace("a", "b").Replace("b", "c").Replace("c", "d")
printfn $"The final string: '{s2}'"

// The example displays the following output:
//       The initial string: 'aaa'
//       The final string: 'ddd'
Module Example
   Public Sub Main()
      Dim s As String = "aaa"
      Console.WriteLine("The initial string: '{0}'", s)
      s = s.Replace("a", "b").Replace("b", "c").Replace("c", "d")
      Console.WriteLine("The final string: '{0}'", s)
   End Sub
End Module
' The example displays the following output:
'       The initial string: 'aaa'
'       The final string: 'ddd'

另请参阅

适用于

Replace(String, String, StringComparison)

返回一个新字符串,在该字符串中,当前实例中指定字符串的所有匹配项都替换为另一个指定的字符串,并使用提供的比较类型。

public:
 System::String ^ Replace(System::String ^ oldValue, System::String ^ newValue, StringComparison comparisonType);
public string Replace(string oldValue, string newValue, StringComparison comparisonType);
member this.Replace : string * string * StringComparison -> string
Public Function Replace (oldValue As String, newValue As String, comparisonType As StringComparison) As String

参数

oldValue
String

要替换的字符串。

newValue
String

要替换所有匹配项的 oldValue字符串。

comparisonType
StringComparison

确定在此实例中搜索方式 oldValue 的枚举值之一。

返回

与当前字符串等效的字符串,只不过所有实例 oldValue 都替换为 newValue。 如果在 oldValue 当前实例中找不到,该方法将返回未更改的当前实例。

例外

oldValuenull

oldValue 是空字符串(“)。

注解

如果是newValue,则会删除所有匹配项oldValuenull

注释

此方法不会修改当前实例的值。 而是返回一个新字符串,其中所有匹配 oldValue 项都替换为 newValue

此方法执行搜索以使用按comparisonType区域性和区分大小写进行查找oldValue

由于此方法返回修改后的字符串,因此可以将对该方法的连续调用 Replace 链接在一起,以对原始字符串执行多个替换。 方法调用从左到右执行。 下面的示例进行了这方面的演示。

string s = "aaa";
Console.WriteLine($"The initial string: '{s}'");
s = s.Replace("a", "b").Replace("b", "c").Replace("c", "d");
Console.WriteLine($"The final string: '{s}'");

// The example displays the following output:
//       The initial string: 'aaa'
//       The final string: 'ddd'
let s = "aaa"
printfn $"The initial string: '{s}'"
let s2 = s.Replace("a", "b").Replace("b", "c").Replace("c", "d")
printfn $"The final string: '{s2}'"

// The example displays the following output:
//       The initial string: 'aaa'
//       The final string: 'ddd'
Module Example
   Public Sub Main()
      Dim s As String = "aaa"
      Console.WriteLine("The initial string: '{0}'", s)
      s = s.Replace("a", "b").Replace("b", "c").Replace("c", "d")
      Console.WriteLine("The final string: '{0}'", s)
   End Sub
End Module
' The example displays the following output:
'       The initial string: 'aaa'
'       The final string: 'ddd'

适用于

Replace(String, String, Boolean, CultureInfo)

返回一个新字符串,在该字符串中,当前实例中指定字符串的所有匹配项都替换为另一个指定的字符串,并使用提供的区域性和区分大小写。

public:
 System::String ^ Replace(System::String ^ oldValue, System::String ^ newValue, bool ignoreCase, System::Globalization::CultureInfo ^ culture);
public string Replace(string oldValue, string newValue, bool ignoreCase, System.Globalization.CultureInfo culture);
member this.Replace : string * string * bool * System.Globalization.CultureInfo -> string
Public Function Replace (oldValue As String, newValue As String, ignoreCase As Boolean, culture As CultureInfo) As String

参数

oldValue
String

要替换的字符串。

newValue
String

要替换所有匹配项的 oldValue字符串。

ignoreCase
Boolean

true (如果比较时忽略大小写); false 否则。

culture
CultureInfo

比较时要使用的区域性。 如果 culturenull,则使用当前区域性。

返回

与当前字符串等效的字符串,只不过所有实例 oldValue 都替换为 newValue。 如果在 oldValue 当前实例中找不到,该方法将返回未更改的当前实例。

例外

oldValuenull

oldValue 是空字符串(“)。

注解

如果是newValue,则会删除所有匹配项oldValuenull

注释

此方法不会修改当前实例的值。 而是返回一个新字符串,其中所有匹配 oldValue 项都替换为 newValue

此方法执行搜索以使用提供的cultureignoreCase区分大小写进行查找oldValue

由于此方法返回修改后的字符串,因此可以将对该方法的连续调用 Replace 链接在一起,以对原始字符串执行多个替换。 方法调用从左到右执行。 下面的示例进行了这方面的演示。

string s = "aaa";
Console.WriteLine($"The initial string: '{s}'");
s = s.Replace("a", "b").Replace("b", "c").Replace("c", "d");
Console.WriteLine($"The final string: '{s}'");

// The example displays the following output:
//       The initial string: 'aaa'
//       The final string: 'ddd'
let s = "aaa"
printfn $"The initial string: '{s}'"
let s2 = s.Replace("a", "b").Replace("b", "c").Replace("c", "d")
printfn $"The final string: '{s2}'"

// The example displays the following output:
//       The initial string: 'aaa'
//       The final string: 'ddd'
Module Example
   Public Sub Main()
      Dim s As String = "aaa"
      Console.WriteLine("The initial string: '{0}'", s)
      s = s.Replace("a", "b").Replace("b", "c").Replace("c", "d")
      Console.WriteLine("The final string: '{0}'", s)
   End Sub
End Module
' The example displays the following output:
'       The initial string: 'aaa'
'       The final string: 'ddd'

适用于