用星號替換 C++ 中的單詞
本程式的目標是使用 c++ 程式設計程式碼用星號替換字串中的某個特定單詞。向量和字串類的基本函式在實現預期結果方面起著關鍵作用。演算法如下:
演算法
START Step-1: Input string Step-2 Split the string into words and store in array list Step-3: Iterate the loop till the length and put the asterisk into a variable Step-4: Traverse the array foreah loop and compare the string with the replaced word Step-5: Print END
現在,根據演算法編寫以下程式碼。在此,string 的 strtok() 方法分割字串並返回向量類陣列列表型別。
示例
#include <cstring>
#include <iostream>
#include <vector>
#include <string.h>
//method for spliting string
std::vector<std::string> split(std::string str,std::string sep){
char* cstr=const_cast<char*>(str.c_str());
char* current;
std::vector<std::string> arr;
current=strtok(cstr,sep.c_str());
while(current!=NULL){
arr.push_back(current);
current=strtok(NULL,sep.c_str());
}
return arr;
}
int main(){
std::vector<std::string> word_list;
std::cout<<"string before replace::"<<"Hello ajay yadav ! you ajay you are star"<<std::endl;
std::cout<<"word to be replaced::"<<"ajay"<<std::endl;
word_list=split("Hello ajay yadav ! you ajay you are star"," ");
std::string result = "";
// Creating the censor which is an asterisks
// "*" text of the length of censor word
std::string stars = "";
std::string word = "ajay";
for (int i = 0; i < word.length(); i++)
stars += '*';
// Iterating through our list
// of extracted words
int index = 0;
for (std::string i : word_list){
if (i.compare(word) == 0)
// changing the censored word to
// created asterisks censor
word_list[index] = stars;
index++;
}
// join the words
for (std::string i : word_list){
result += i + ' ';
}
std::cout<<"output::"<<result;
return 0;
}
}如上程式碼所示,所有字串操作程式碼都捆綁在 retrieveChar() 方法中,稍後會將其呼叫傳遞給程式 main() 執行。
輸出
String before replace::Hello ajay yadav ! you ajay you are star Word to be replaced::ajay Output::Hello **** yadav ! you **** you are star
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP