C++中string.find()函式與string::npos求解刪除子串題目
7-2 刪除字串中的子串 (20 分)
輸入2個字串S1和S2,要求刪除字串S1中出現的所有子串S2,即結果字串中不能包含S2。
輸入格式:
輸入在2行中分別給出不超過80個字元長度的、以回車結束的2個非空字串,對應S1和S2。
輸出格式:
在一行中輸出刪除字串S1中出現的所有子串S2後的結果字串。
輸入樣例:
Tomcat is a male ccatat
cat
輸出樣例:
Tom is a male
程式碼如下
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
string a(81,'\n'),b(81,'\n');
getline(cin,a,'\n');
getline(cin,b,'\n');
int i;
while((i=a.find(b))!=string::npos)
a.replace(i,b.size(),"");
cout<<a;
return 0;
}
相關推薦
C++中string.find()函式與string::npos求解刪除子串題目
7-2 刪除字串中的子串 (20 分) 輸入2個字串S1和S2,要求刪除字串S1中出現的所有子串S2,即結果字串中不能包含S2。 輸入格式: 輸入在2行中分別給出不超過80個字元長度的、以回車結束的2個非空字串,對應S1和S2。 輸出格式: 在一行中輸出刪除字
string中的find函式和string::npos的使用
查詢字串a是否包含子串b, 不是用strA.find(strB) > 0而是strA.find(strB) != string:nposstring::size_type pos = strA.find(strB); if(pos != string::npos){} ----------------
string find()函式、string::npos的含義、erase()函式
string::npos引數 —— npos 是一個常數,用來表示不存在的位置 例如,有兩個字串a、b,判斷a字串是否包含b字串 //如果字串不存在包含關係,那麼返回值就一定是npos if(a.find(b)!=string::npos){ cout<<
C++中int或double與string的相互轉換
一、int轉string 1.c++11標準增加了全域性函式std::to_string: string to_string (int val); string to_string (long val); string to_string (long l
C++中的虛擬函式與靜態聯編和動態聯編
程式在呼叫函式時,將使用哪個可執行程式碼塊呢?編譯器負責回答這個問題,將原始碼中的函式呼叫解釋為執行特定的函式程式碼塊被稱為函式名聯編。在C中,因為每個函式名都對應一個不同的函式,而在C++中,由於函式過載的緣故,編譯器必須檢視函式引數以及函式名才能確定
C++中的建構函式與建立物件的(簡單)過程
<pre name="code" class="cpp">//構造方法 #pragma 在做遊戲的公司裡面初始化的方法有兩種風格 一種是init這是本來做蘋果轉過來的 另外一種是在構造方法裡面初始化 (這本來就是做C++的) #include <iostream> using
批註:C++中複製建構函式與過載賦值操作符總結:預設淺拷貝,帶指標的需要深拷貝
前言 這篇文章將對C++中複製建構函式和過載賦值操作符進行總結,包括以下內容: 複製建構函式和過載賦值操作符的定義;複製建構函式和過載賦值操作符的呼叫時機;複製建構函式和過載賦值操作符的實現要點;複製建構函式的一些細節。 複製建構函式和過載賦值操作符的定義 我們都知道
[C++] STL庫函式之字串string::npos的介紹,以及string中的find函式~
npos經常和find一起用~它們兩個都在標頭檔案<string>裡面~先看用法: #include <iostream> #include <string> us
C++ string中的find()函式
1.string中find()返回值是字母在母串中的位置(下標記錄),如果沒有找到,那麼會返回一個特別的標記npos。(返回值可以看成是一個int型的數) #include<cstring> #include<cstdio> #inclu
C++ 中string.find() 函式的用法總結
#include <string> #include <iostream> using namespace std; void main() { ////find函式返回型別 size_typestring s("1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8
C++ 中string.find() 函式的用法總結(轉載)
#include <string>#include <iostream>using namespace std; void main() { ////find函式返回型別 size_type string s("1a2b3c4d5e6f7g8
string中的find函式
今天看程式碼,發現對STL中find函式掌握還是有點少,現在總結一下find函式的用法。 在非string型別的容器裡,可以直接找出所對應的元素。find函式需要幾個引數:迭代器、下標誌、所要找的元素。 例如: vect
Java String類中的equals函式與==的區別
String型別中的equals函式格式為 String A.equals(String B) 返回值為true或false。 如圖 當st1賦值為“123”時,“123”作為首次出現的值會被放在一個記憶體空間(地址為ad1)中。 當st1與st2用’==來進
C++ string find方法與substr
一.find() find(const std::basic_string<char> &__str, optional size_type __pos); 第二個引數是可選引數,如果有,就是從pos位置開始,往後尋找指定的字元或是字串. 需要注意的是:
C++中的動態型別與動態繫結、虛擬函式、執行時多型的實現【轉】
(轉自:https://blog.csdn.net/iicy266/article/details/11906509) 動態型別與靜態型別 靜態型別 是指不需要考慮表示式的執行期語
string.find()函式
find() find(‘a’),從字串的0號下標開始查詢(包括0)。 find(‘a’,k),從字串的k號下標開始查詢(包括k)。 其中引數也可以為"a",即既可以查詢字元,也可以查詢字串 返回型別:size_t,即一個無符號整數(按打印出來的算)。若查詢成功,返回按查詢規則找到的第一
《隨筆十八》—— C++中的 “ 標準庫型別string ”
目錄 初始化 string 物件的方式 string 物件的操作 cin 和 getline 讀寫 string物件 string 的 size ()操作 和 string::size_type 型別 比較string物件
C#中的字串類(string類)
1.字串搜尋: string s="ABC科學"; int i=s.IndexOf("科"); 注意:1)索引從0開始,如果沒有找到則返回值為-1; 2)C#中,ASCII和
C++中UTF-8轉換成string
本來想著有沒有直接將UTF-8編碼轉換成string的函式,查找了半天,然而並沒有,無奈只好自己封裝了一個,使用了C++11,程式碼如下: std::string MyString::UnicodeT
C++中類的組合與建構函式
首先看看建構函式的概念。在程式執行過程中,當遇到物件宣告語句時,程式會想作業系統申請一定的記憶體空間用於存放新建的物件。而編譯器不知道如何產生程式碼來實現初始化。所以C++做了一套物件初始化的機制,就是建構函式。 然後是類的組合中,當建立類的物件時,如果這個類