Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++를 사용하여 문자열에서 주어진 단어 제거

<시간/>

이 기사에서는 주어진 문자열에서 주어진 단어를 제거하는 문제를 해결할 것입니다. 예를 들어 -

Input : str = “remove a given word ”, word = “ remove ”
Output : “ a given word ”

Input : str = “ god is everywhere ”, word = “ is ”
Output : “ god everywhere ”

해결책을 찾기 위한 접근 방식

예를 들어 문자열에서 단어를 제거하는 간단한 방법을 사용할 수 있습니다.

  • 먼저, 주어진 문자열을 2차원 행렬 형식으로 배치합니다. 여기서 각 단어는 각 행에 저장됩니다.
  • 행렬에서 단어를 찾고 해당 행을 단어가 있는 null 문자로 바꿉니다.
  • 마지막으로 재정렬된 문자열을 인쇄합니다.

예시

#include <bits/stdc++.h>
using namespace std;
int remove_word (string str, char word[]) {
   char matrix[10][30];
   int i = 0, j = 0, k = 0, len1 = 0, len2 = 0;

   // putting each word of string into the rows of the 2-D matrix.
   for (i = 0; str[i] != '\0'; i++) {
      if (str[i] == ' ') {
         matrix[k][j] = '\0';
         k++;
         j = 0;
      }else{
         matrix[k][j] = str[i];
         j++;
      }
   }
   // looking for the word in a given string and putting a null character when the word is found.
   matrix[k][j] = '\0';
   j = 0;
   for (i = 0; i < k + 1; i++) {
      if (strcmp (matrix[i], word) == 0) {
         matrix[i][j] = '\0';
      }
   }

   j = 0;
   // printing the reordered string.
   for (i = 0; i < k + 1; i++){
      if (matrix[i][j] == '\0')
         continue;
      else
         cout << matrix[i] << " ";
   }

   cout << "\n";
}

int main () {
   char str1[] = "remove a given word", word1[] = "remove";
   char str2[] = "god is everywhere", word2[]="is";
   // calling a function to remove a word from a string and print it.
   remove_word (str1, word1);
   remove_word (str2, word2);

   return 0;
}

출력

a given word
god everywhere

위 코드 설명

  • 일부 값으로 문자열과 배열을 초기화하고 주어진 단어를 제거하는 함수를 호출합니다.
  • 공백을 찾을 때까지 각 블록에 각 문자를 저장한 루프를 사용하여 2차원 행렬의 각 행에 문자열의 각 단어를 넣습니다.
  • strcmp() 함수를 사용하여 문자열과 단어를 비교하고 해당 단어가 있는 행에 null 값을 넣습니다.
  • 마지막으로 행렬의 각 행을 인쇄하여 문자열을 인쇄합니다.

결론

이 기사에서는 문자열을 2차원 행렬에 저장한 다음 해당 단어를 null 값으로 대체하여 문제를 해결하는 문자열에서 주어진 단어를 제거하는 방법에 대해 설명했습니다. 우리는 C++ 코드를 사용하여 이 문제를 해결했습니다. 그러나 C, Java, Python 등과 같은 다른 언어를 사용하여 동일한 문제를 해결할 수 있습니다. 이 문서가 도움이 되기를 바랍니다.