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

要替换出现的所有 oldChar 的 Unicode 字符。

返回

String

等效于此实例(除了 oldChar 的所有实例都已替换为 newChar 外)的字符串。 如果在当前实例中找不到 oldChar,此方法返回未更改的当前实例。

示例

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

using namespace System;
int main()
{
   String^ str = "1 2 3 4 5 6 7 8 9";
   Console::WriteLine( "Original string: \"{0}\"", str );
   Console::WriteLine( "CSV string:      \"{0}\"", 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"
//
String str = "1 2 3 4 5 6 7 8 9";
Console.WriteLine("Original string: \"{0}\"", str);
Console.WriteLine("CSV string:      \"{0}\"", 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 String('a', 3);
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);

// 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);
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 的所有匹配项的字符串。

返回

String

等效于当前字符串(除了 oldValue 的所有实例都已替换为 newValue 外)的字符串。 如果在当前实例中找不到 oldValue,此方法返回未更改的当前实例。

例外

oldValue 上声明的默认值为 null

oldValue 为空字符串 ("")。

示例

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

using namespace System;
int main()
{
   String^ errString = "This docment uses 3 other docments to docment the docmentation";
   Console::WriteLine( "The original string is:\n'{0}'\n", errString );

   // Correct the spelling of S"document".
   String^ correctString = errString->Replace( "docment", "document" );
   Console::WriteLine( "After correcting the string, the result is:\n'{0}'", 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'
//
string errString = "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".

string correctString = errString.Replace("docment", "document");

Console.WriteLine("After correcting the string, the result is:{0}'{1}'",
        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: '{0}'", s);
s = s.Replace("a", "b").Replace("b", "c").Replace("c", "d");
Console.WriteLine("The final string: '{0}'", 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);
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 的方法。

返回

String

等效于当前字符串(除了 oldValue 的所有实例都已替换为 newValue 外)的字符串。 如果在当前实例中找不到 oldValue,此方法返回未更改的当前实例。

例外

oldValue 上声明的默认值为 null

oldValue 为空字符串 ("")。

注解

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

备注

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

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

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

String s = "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);

// 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);
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,则使用当前区域性。

返回

String

等效于当前字符串(除了 oldValue 的所有实例都已替换为 newValue 外)的字符串。 如果在当前实例中找不到 oldValue,此方法返回未更改的当前实例。

例外

oldValue 上声明的默认值为 null

oldValue 为空字符串 ("")。

注解

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

备注

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

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

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

String s = "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);

// 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'

适用于