Heim > Backend-Entwicklung > C++ > Entfernen Sie das angegebene Wort mit C++ aus der Zeichenfolge

Entfernen Sie das angegebene Wort mit C++ aus der Zeichenfolge

WBOY
Freigeben: 2023-09-12 19:45:02
nach vorne
895 Leute haben es durchsucht

Entfernen Sie das angegebene Wort mit C++ aus der Zeichenfolge

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

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

Input : str = “ god is everywhere ”, word = “ is ”
Output : “ god everywhere ”
Nach dem Login kopieren

寻找解决方案的方法

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

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

示例

#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;
}
Nach dem Login kopieren

输出

a given word
god everywhere
Nach dem Login kopieren

上述代码的解释

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

结论

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

Das obige ist der detaillierte Inhalt vonEntfernen Sie das angegebene Wort mit C++ aus der Zeichenfolge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage