C# | 바꾸기() 메서드

C#에서는 바꾸다() 메소드는 문자열 메소드입니다. 이 메서드는 현재 문자열 개체에서 지정된 모든 유니코드 문자 또는 지정된 문자열을 바꾸는 데 사용되며 새로 수정된 문자열을 반환합니다. 이 메서드는 인수를 전달하여 오버로드될 수 있습니다.

통사론:

 public string Replace(char Oldchar, char Newchar) or public string Replace(string Oldvalue, string Newvalue) 

설명:
첫 번째 방법은 Oldchar와 Newchar라는 두 개의 매개변수를 사용합니다. 여기서 Oldchar는 대체될 유니코드 문자이고 Newchar는 OldChar의 모든 항목을 대체할 문자입니다.
두 번째 방법은 또한 Oldvalue와 Newvalue라는 두 개의 매개변수를 사용합니다. 여기서 Oldvalue는 대체될 문자열이고 Newvalue는 Oldvalue의 모든 항목을 대체할 문자열입니다. 두 메서드의 반환 유형 값은 다음과 같습니다. 시스템.문자열 .

예외:

    ArgumentNullException: OldValue 또는 Oldchar가 모두 null인 경우. ArgumentException OldValue 또는 Oldchar가 빈 문자열()인 경우입니다.

다음은 위의 방법을 보여주는 프로그램입니다.

    예제 1: 다음을 시연하는 프로그램 공개 문자열 바꾸기(char Oldchar, char Newchar) 방법. 지정된 문자의 모든 발생은 지정된 다른 문자로 대체됩니다. 현재 문자열 객체에서 oldChar를 찾을 수 없으면 문자열은 변경되지 않은 상태로 유지됩니다.
     Input : str = 'GeeksForGeeks' str.Replace('s', 'G'); Output: GeekGForGeekG Input : str = 'GeeksForGeeks' str.Replace('e', ' '); Output: G ksForG ks 




    // C# program to illustrate the Replace()> // Method with character parameter> using> System;> > class> Geeks {> > > // Main Method> > public> static> void> Main()> > {> > > // string> > String str => 'Geeks For Geeks'> ;> > > Console.WriteLine(> 'OldString : '> + str);> > > // replace the character 's' with 'G'> > Console.WriteLine(> 'NewString: '> + str.Replace(> 's'> ,> 'G'> ));> > > // oldString will remain unchanged> > // its return the modified string> > Console.WriteLine(> ' OldString: '> + str);> > > // replace the character 'e' with space ' '> > Console.WriteLine(> 'NewString: '> + str.Replace(> 'e'> ,> ' '> ));> > }> }>

    산출:

     OldString : Geeks For Geeks NewString: GeekG For GeekG OldString: Geeks For Geeks NewString: G ks For G ks 
    예 2: 다음을 시연하는 프로그램 공개 문자열 바꾸기(문자열 Oldvalue, 문자열 Newvalue) 방법. 현재 문자열 인스턴스에서 지정된 문자열의 모든 항목은 지정된 다른 문자열로 대체됩니다. 현재 문자열에서 Oldvalue를 찾을 수 없으면 문자열은 변경되지 않은 상태로 유지됩니다.
     Input: str = 'Geeks For Geeks' str.Replace('Geeks', '---'); Output: --- For --- Input: str = 'Geeks For Geeks' str.Replace('For', 'GFG'); Output: Geeks GFG Geeks 




    // C# program to illustrate the Replace> // Method with string parameter> using> System;> > class> Geeks {> > > // Main Method> > public> static> void> Main()> > {> > > // define string> > String str => 'Geeks For Geeks'> ;> > > Console.WriteLine(> 'OldString : '> + str);> > > // replace the string 'Geeks' with '---'> > // in string 'Geeks comes two time so replace two times> > Console.WriteLine(> 'NewString: '> + str.Replace(> 'Geeks'> ,> '---'> ));> > > // oldString will remain unchanged> > // its return the modified string> > Console.WriteLine(> ' OldString: '> + str);> > > // replace the string 'For' with 'GFG'> > Console.WriteLine(> 'NewString: '> + str.Replace(> 'For'> ,> 'GFG'> ));> > }> }>

    산출:

     OldString : Geeks For Geeks NewString: --- For --- OldString: Geeks For Geeks NewString: Geeks GFG Geeks 

문자열(대체 체인)에 대해 여러 교체 작업을 수행하려면 다음을 수행합니다.

위의 바꾸기() 메서드는 수정된 문자열을 반환하므로 이제 문자열에 대해 여러 대체 작업을 수행하기 위해 바꾸기 메서드에 대한 연속적인 호출을 함께 연결할 수 있습니다. 메서드 호출은 왼쪽에서 오른쪽으로 실행됩니다.
아래 예에서는 주어진 문자열 XXXXX에 대해 첫 번째 X가 Y로 대체되고 Y가 Z로 대체되고 마지막으로 Z가 A로 대체됩니다.

예 :




// C# program to demonstrate the> // multiple replacements calls> using> System;> > public> class> Geeks{> > > // Main Method> > public> static> void> Main()> > {> > String str => 'XXXXX'> ;> > Console.WriteLine(> 'Old String: '> + str);> > > // chain together> > str = str.Replace(> 'X'> ,> 'Y'> ).Replace(> 'Y'> ,> 'Z'> ).Replace(> 'Z'> ,> 'A'> );> > Console.WriteLine(> 'New string: '> + str);> > }> }>

산출:

 Old String: XXXXX New string: AAAAA 

기억해야 할 중요한 사항:

  • 바꾸기() 메서드는 현재 인스턴스의 값을 수정하지 않습니다. 대신, Oldvalue의 모든 항목이 Newvalue로 대체되고, 마찬가지로 oldchar도 Newchar로 대체되는 새 문자열을 반환합니다.
  • OldValue 또는 Oldchar를 찾기 위해 대소문자를 구분하여 검색을 수행합니다. Newvalue가 null이면 Oldvalue가 모두 제거됩니다.

참고자료:



마음에 드실지도 몰라요