c++中要從string
中刪除所有某個特定字元, 可用如下**
str.erase(std::remove(str.begin(), str.end(), 'a'), str.end());
其中,remove
來自, 它的簽名是
template
forwarditerator remove (forwarditerator first, forwarditerator last, const t& val);
作用: 在容器中, 刪除[first, last)
之間的所有值等於val
的值.
刪除方法: 將某個等於val
的值用下乙個不等於val
的值覆蓋.
返回值: 乙個迭代器 (記作newend
), 該迭代器指向最後乙個未被刪除元素的下乙個元素, 即相當於容器新的end
.
所以, 執行完remove
後, 容器的[first, newend)
內的元素即為所有未被刪除的元素,[newend, end)
之間的元素已經沒用了.
這樣, 再執行str.erase(newend, str.end())
即可清空[newend, end)
之間的元素.
std::remove_if
與remove
類似, 只是它接受的第三個引數是個函式.
// remove_if example
#include
// std::cout
#include
// std::remove_if
bool isodd (int i)
int main () ; // 1 2 3 4 5 6 7 8 9
// bounds of range:
int* pbegin = myints; // ^
int* pend = myints+sizeof(myints)/sizeof(int); // ^ ^
pend = std::remove_if (pbegin, pend, isodd); // 2 4 6 8 ? ? ? ? ?
// ^ ^
std::cout << "the range contains:";
for (int* p=pbegin; p!=pend; ++p)
std::cout << ' '
<< *p;
std::cout << '
\n';
return
0;}
output:
myvector contains: 10
3030
101000
0
還有個std::remove_copy
, 簽名:
template
outputiterator remove_copy (inputiterator first, inputiterator last,
outputiterator result, const t& val);
它會把[first, last)
之間不等於val
的元素都向從result
開始的容器拷貝.
// remove_copy example
#include
// std::cout
#include
// std::remove_copy
#include
// std::vector
int main () ; // 10 20 30 30 20 10 10 20
std::vector myvector (8);
std::remove_copy (myints,myints+8,myvector.begin(),20); // 10 30 30 10 10 0 0 0
std::cout << "myvector contains:";
for (std::vector::iterator it=myvector.begin(); it!=myvector.end(); ++it)
std::cout << ' '
<< *it;
std::cout << '
\n';
return
0;}
output:
myvector contains: 10
3030
101000
0
刪除某資料庫下所有的表
刪除某資料庫下所有的表,謹慎執行。建議坐下資料庫備份後再執行。如果是新庫請隨意。執行之前,一定要檢查庫是不是正確的!執行之前,一定要檢查庫是不是正確的!執行之前,一定要檢查庫是不是正確的!執行之前,一定要檢查庫是不是正確的!執行之前,一定要檢查庫是不是正確的!執行之前,一定要檢查庫是不是正確的!執行...
python 刪除list中某所有元素
突然記起來一年前剛入行時,領導面試我時提的問題,刪除list中所有等於某個值的元素 比如 刪除 1,2,3,4,1,2,3,4,1,3,4 中所有的2元素 刪除元素常用 remove,pop 方法,remove可以直接刪除某個值 list.remove 1 但是每次只能刪除第乙個,且如果list中不...
從git中 從所有提交記錄中刪除檔案
將之前提交過的檔案從版本中刪除 git filter branch help解釋 git filter branch rewrite branches 語法git filter branch env filter tree filter index filter parent filter msg ...