때로는 전산언어학, 기계학습, 데이터 분석 등의 분야에서 막대한 양의 텍스트 데이터를 관리해야 할 때가 있습니다. 따라서 C++에서는 이를 위해 문자열과 목록이 일반적으로 사용됩니다. 아마도 문자열이나 문자 목록에서 문자의 초기 모양을 제거해야 할 수도 있습니다. 이 기사 전체에서 C++의 문자열에서 문자의 첫 번째 인스턴스를 제거하는 대체 방법을 살펴보겠습니다. 이 함수는 문자열 내용의 첫 번째 문자를 제거하여 문자열을 더 짧게 만듭니다.
예제 1:C++의 erasure() 메서드를 사용하여 문자열에서 첫 번째 문자 제거
string::erase 함수는 문자열에서 문자를 제자리에서 제거하는 데 권장되는 방법입니다. 범위 오버로드는 다음 C++ 프로그램에서 설명됩니다.
프로그램의 주요 기능부터 시작해 보겠습니다. 기본 함수 괄호 안에 문자열 변수를 "StrValue"로 표시하는 표준 클래스 템플릿을 정의했습니다. 문자열 변수 "StrValue"는 단어 문자열로 초기화됩니다. 초기화될 때 문자열을 인쇄하는 표준 cout 문이 있습니다. 그런 다음 이 문자열 “StrValue”에 대해 삭제 방법을 수행했습니다.
삭제 메소드 내에서 0과 1을 인수로 전달했습니다. 값 "0"은 문자열 "StrValue"에 있는 첫 번째 문자의 인덱스이고, 값 "1"은 문자열에 있는 첫 번째 문자입니다. 지정된 위치 이후에 지우기 메서드는 문자열에서 제공된 문자 길이를 삭제합니다. 결국 첫 번째 문자를 제거한 후 문자열을 인쇄하는 print 문이 생겼습니다.
#include
#include <문자열>
정수 메인()
{
std::string StrValue ="행복해요";
std::cout <<"앞의 문자열:" <
StrValue.erase(0, 1);
std::cout <<"다음 문자열:" <
0을 반환합니다.
다음 출력은 지정된 문자열에 대한 지우기 방법의 작동을 보여줍니다. 보시다시피 문자열의 첫 문자가 지워졌습니다:
Erase() 메서드의 또 다른 오버로드된 대안은 반복자를 지웁니다. 반복자를 매개변수로 받아들이고 반복자에 의해 지정된 문자를 지웁니다. 문자열의 첫 번째 문자를 가리키는 반복자를 우회하여 문자열의 첫 번째 문자를 지울 수 있습니다.
다음 프로그램의 주요 기능에서는 삭제 방법을 사용했습니다. 문자열의 표준 형식은 기본 함수에 정의되어 있습니다. 문자열 변수는 "StringIs"로 생성되고 문자열로 초기화됩니다. 먼저, 지우기 반복자 방법을 적용하기 전에 문자열을 인쇄했습니다.
그런 다음 이전 문자열의 지우기 메서드를 호출했습니다. 삭제 메소드에는 "StrValue" 문자열에 대한 시작 반복자가 있으며 문자열의 첫 번째 문자를 가리키는 반복자를 반환하는 데 사용됩니다. 첫 번째 문자가 반환되면 지우기 메서드는 문자열에서 해당 문자를 제거합니다. 그 후에는 첫 번째 문자가 제거된 상태로 문자열이 인쇄됩니다.
#include
정수 메인()
std::string StringIs ="프로그래밍 예제";
std::cout <<"앞의 문자열:" <
StringIs.erase(StringIs.begin());
std::cout <<"다음 문자열:" <
0을 반환합니다.
쉘은 지우기 반복자 메소드 전과 문자열에서 첫 번째 문자가 제거된 후의 문자열을 보여주는 출력을 표시했습니다.
string::erase 함수를 사용하기 전에 빈 문자열이 없는지 확인하세요. 입력 시퀀스가 비어 있으면 프로그램은 std::length 오류 예외를 발생시킵니다.
이 프로그램에는 문자열 변수 "MyStr"이 선언되는 주 함수가 포함되어 있습니다. 문자열은 선언될 때 문자열 문자로 초기화되기도 합니다. 문자열 값이 셸에 인쇄됩니다. 그 다음에는 주어진 문자열에 조건이 적용되는 if 문이 있습니다.
문자열이 비어 있으면 안 되는지 확인하기 위해 if 조건 내에서 빈 메소드를 호출했습니다. 그런 다음 지우기 반복기 메서드가 문자열에 대해 사용되며 지정된 문자열에서 첫 번째 문자를 제거합니다. 문자열은 문자열에서 첫 번째 문자가 제거된 상태로 쉘 화면에 인쇄됩니다.
#include
정수 메인()
std::string MyStr ="무지개";
std::cout <<"앞의 문자열:" <
if (!MyStr.empty()) {
MyStr.erase(MyStr.begin());
}
std::cout <<"현재 문자열:" <
0을 반환합니다.
다음과 같은 출력 문자열이 있습니다.
이제 다음 구문을 사용하여 특정 문자에 해당하는 경우 초기 문자를 제거하는 예가 있습니다.
문자열 변수는 문자열 값으로 초기화되고 다음 프로그램의 main에서 "Name"이라는 이름이 할당됩니다. cout 명령을 사용하여 문자열을 표시했습니다. 그런 다음 char 데이터 유형을 사용하여 또 다른 변수 "ch"를 정의했습니다. char 변수 "ch"에는 이전 문자열의 첫 번째 문자와 일치하는 문자 "k"가 할당됩니다.
그런 다음 if 문을 사용하여 문자 값 "k"가 문자열의 첫 번째 문자 값과 일치하는지 조건을 확인합니다. 문자열 참조의 첫 번째 문자를 가져오는 데 사용되는 front() 함수가 있습니다. 그런 다음 지우기 반복자를 사용하여 문자열의 첫 문자가 제거됩니다.
#include
정수 메인()
char ch ='K';
if (Name.front() ==ch) {
Name.erase(Name.begin());
std::cout <<"지금 이름 지정:" <<이름 <
0을 반환합니다.
보시다시피 문자열에서 제거된 첫 번째 문자는 다음과 같습니다.
문자열은 string::erase 메소드를 사용하여 수정됩니다. string::substr 함수를 사용하면 마지막 문자 없이 문자열의 복사본을 검색할 수 있습니다.
if 조건 블록의 문자열 "MyString"에 대해 substr 함수를 사용했습니다. substr 함수는 첫 번째 문자 위치와 문자열 길이를 -1로 전달했습니다. 지정된 문자를 포함하는 호출자 문자열 개체에서 새로 형성된 문자열을 반환합니다.
#include
정수 메인()
std::cout <<"원래 문자열:"<
표준::문자열 n;
if (!MyString.empty()) {
n =MyString.substr(1, MyString.size() - 1);
std::cout <<"변경된 문자열:" <
0을 반환합니다.
substr 메소드는 다음 셸에 표시된 것처럼 문자열에서 처음 나타나는 문자를 제거했습니다.
C++에서는 문자열에서 첫 문자를 제거하는 대체 방법을 배웠습니다. 이러한 메서드는 동일한 출력을 반환하지만 C++ 프로그램에서는 다르게 구현됩니다. 이는 문자열에서 문자의 초기 인스턴스를 삭제하기 위한 효율적인 C++ 메서드입니다. 이러한 방법이 귀하에게 도움이 되기를 바랍니다.
}
예 2:C++에서 Iterator 메서드를 사용하여 문자열에서 첫 번째 문자 제거
#include <문자열>
{
}
예 3:C++의 문자열에서 첫 번째 문자를 제거하려면 빈 문자열을 확인하세요.
#include <문자열>
{
}
예 4:C++에서 일치하는 문자가 있는 첫 번째 문자 제거
#include <문자열>
{
std::string 이름 ="칼룸";
std::cout <<"이전 이름:" <<이름 <
}
}
예 5:C++에서 substr() 메서드를 사용하여 문자열에서 첫 번째 문자 제거
#include <문자열>
{
std::string MyString ="가져오는 중";
}
}
결론