> 백엔드 개발 > C++ > 본문

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

WBOY
풀어 주다: 2023-09-12 19:45:02
앞으로
848명이 탐색했습니다.

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

在本文中,我们将解决从给定字符串中删除给定单词的问题。例如 -

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

Input : str = “ god is everywhere ”, word = “ is ”
Output : “ god everywhere ”
로그인 후 복사

寻找解决方案的方法

例如,我们可以使用一种简单的方法从字符串中删除单词。

  • 首先,将二维矩阵形式的给定字符串,其中每个单词存储在每一行中。
  • 在矩阵中查找该单词,并将该行替换为该单词所在的空字符。
  • 最后,打印重新排序的字符串。

示例

#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] != &#39;\0&#39;; i++) {
      if (str[i] == &#39; &#39;) {
         matrix[k][j] = &#39;\0&#39;;
         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] = &#39;\0&#39;;
   j = 0;
   for (i = 0; i < k + 1; i++) {
      if (strcmp (matrix[i], word) == 0) {
         matrix[i][j] = &#39;\0&#39;;
      }
   }

   j = 0;
   // printing the reordered string.
   for (i = 0; i < k + 1; i++){
      if (matrix[i][j] == &#39;\0&#39;)
         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
로그인 후 복사

上述代码的解释

  • 用一些值初始化字符串和数组,并调用函数来删除给定的单词。
  • 将每个单词放入二维矩阵的每一行中的字符串,使用循环存储每个块中的每个字符,直到找到空格。
  • 使用 strcmp() 函数将字符串与单词进行比较,并将 null 值放入其中的行中找到单词。
  • 最后,通过打印矩阵的每一行来打印字符串。

结论

本文讨论了删除给定单词来自字符串,我们通过将字符串存储在二维矩阵中然后用空值替换该单词来解决问题。我们使用 C++ 代码解决了这个问题。但是,我们可以使用任何其他语言(例如 C、Java、Python 等)解决相同的问题。希望本文对您有所帮助。

위 내용은 C++를 사용하여 문자열에서 특정 단어 제거의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!