연습 - Remove() 및 Replace() 메서드 사용
- 8분
이 연습에서는 Remove() 메서드를 사용하여 문자열에서 문자를 제거하고 Replace() 메서드를 사용하여 문자를 바꿉니다.
경우에 따라 문자열의 내용을 수정하여 문자를 제거하거나 바꿔야 합니다. 문자를 이미 알고 있는 도구로 바꿀 수 있지만 문자열을 일시적으로 저장하고 다시 연결해야 합니다. 다행히 string 데이터 형식에는 이러한 특수 시나리오에 대한 다른 기본 제공 메서드 Remove() 가 Replace()있습니다.
Remove() 메서드 사용
일반적으로 문자열에서 제거하려는 문자의 표준 및 일관된 위치가 있는 경우 사용합니다 Remove() .
이 연습에서는 고정된 길이를 갖는 이전 파일에 저장된 데이터와 특정 정보 필드에 할당된 문자 위치가 있습니다. 처음 5자리 숫자는 고객 ID 번호를 나타냅니다. 다음 20자리 숫자는 고객의 이름을 포함합니다. 다음 6개 위치는 고객의 최신 청구서 금액을 나타내며, 마지막 세 위치는 해당 청구서에 주문된 항목 수를 나타냅니다.
다음 단계에서는 별도의 프로세스로 보낼 수 있도록 데이터의 형식을 지정하기 위해 고객의 이름을 제거해야 합니다. 사용자 이름의 정확한 위치와 길이를 알고 있으므로 메서드를 사용하여 Remove() 쉽게 제거할 수 있습니다.
문자열에서 특정 위치의 문자 제거
//줄 주석 연산자를 삭제하거나 사용하여 이전 연습의 모든 코드를 주석 처리합니다.다음과 같이 Visual Studio Code 편집기에서 코드를 업데이트합니다.
string data = "12345John Smith 5000 3 "; string updatedData = data.Remove(5, 20); Console.WriteLine(updatedData);Visual Studio Code 파일 메뉴에서 저장을 선택합니다.
코드를 빌드하거나 실행하기 전에 Program.cs 파일을 저장해야 합니다.
탐색기 패널에서 TestProject 폴더 위치에서 터미널을 열려면 TestProject를 마우스 오른쪽 단추로 클릭한 다음 통합 터미널에서 열기를 선택합니다.
터미널 패널이 열려 있어야 하고 터미널이 TestProject 폴더 위치에 열려 있음을 보여 주는 명령 프롬프트를 포함해야 합니다.
터미널 명령 프롬프트에서 코드를 실행하려면 dotnet run을 입력한 다음, Enter 키를 누릅니다.
다음과 같은 출력이 표시됩니다.
123455000 3Remove()메서드는Substring()메서드와 유사하게 작동합니다. 문자열에서 해당 문자를 제거할 시작 위치와 길이를 제공합니다.
Replace() 메서드 사용
이 Replace() 메서드는 하나 이상의 문자를 다른 문자(또는 문자 없음)로 바꿔야 하는 경우에 사용됩니다. 이 Replace() 메서드는 지금까지 사용된 다른 메서드와 다르며, 첫 번째 또는 마지막 인스턴스뿐만 아니라 지정된 문자의 모든 인스턴스를 대체합니다 .
문자열에 표시되는 위치에 관계없이 문자 제거
다음과 같이 Visual Studio Code 편집기에서 코드를 업데이트합니다.
string message = "This--is--ex-amp-le--da-ta"; message = message.Replace("--", " "); message = message.Replace("-", ""); Console.WriteLine(message);코드 파일을 저장한 다음 Visual Studio Code를 사용하여 코드를 실행합니다.
다음과 같은 출력이 표시됩니다.
This is example data여기서는 메서드를 두 번 사용했습니다
Replace(). 문자열--을 처음으로 공백으로 바꿨습니다. 두 번째로 문자열을 빈 문자열-로 바꿔 문자열에서 문자를 완전히 제거합니다.
요약
기억해야 할 두 가지 중요한 사항은 다음과 같습니다.
Remove()메서드는Substring()메서드처럼 작동하지만, 문자열에서 지정된 문자를 삭제하는 점이 다릅니다.- 메서드는
Replace()문자열의 모든 인스턴스를 새 문자열로 바꿉니다.