程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> c++ String去除頭尾空格,string頭尾

c++ String去除頭尾空格,string頭尾

編輯:C++入門知識

c++ String去除頭尾空格,string頭尾


1.使用string的find_first_not_of,和find_last_not_of方法

 

 1 #include <iostream>
 2 #include <string>
 3 
 4 std::string& trim(std::string &);
 5 
 6 int main() 
 7 {
 8     std::string s = " Hello World!! ";
 9     std::cout << s << " size:" << s.size() << std::endl;
10     std::cout << trim(s) << " size:" << trim(s).size() << std::endl;
11 
12     return 0;
13 }
14 
15 std::string& trim(std::string &s) 
16 {
17     if (s.empty()) 
18     {
19         return s;
20     }
21 
22     s.erase(0,s.find_first_not_of(" "));
23     s.erase(s.find_last_not_of(" ") + 1);
24     return s;
25 }

 


c++ string類型 去頭尾空格

給你提供了一個remove_space(string& str)函數,把要去掉空格的串str傳入函數即可,函數返回後,str中的內容即被前後去除了多余的空格。 不明白的地方可以hi我
#include<string>
using namespace std;
void remove_space(string& str){
string buff(str);
char space = ' ';
str.assign(buff.begin() + buff.find_first_not_of(space),
buff.begin() + buff.find_last_not_of(space) + 1);
}

測試:
(1)前後有若干個空格的情況,輸入" abc ",輸出:"abc"
(2)前後有若干空格,且字符串中間也夾雜著若干空格的情況,輸入" a b cd ", 輸出:"a b cd"

相信這就是你要的
 

OC中怎翻轉字符串與去掉首尾空格

字符串反轉,OC本身沒有自帶字符串反轉的直接方法,但是有字符串遍歷的方法,我們可以設置遍歷選項:
NSString * string = @"abcdefg hijklmn"; NSMutableString * outputString = [NSMutableString string]; // NSStringEnumerationReverse :表示反向遍歷 // NSStringEnumerationByComposedCharacterSequences : 表示按字符遍歷 [string enumerateSubstringsInRange:NSMakeRange(0, string.length) options:NSStringEnumerationReverse | NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) { [outputString appendString:substring]; }]; NSLog(@"%@",outputString);
這樣就實現了字符串反轉
清除空格,同樣使用字符串遍歷:
NSString * string = @" abcdefg hijklmn s d "; NSMutableString * outputString = [NSMutableString string]; // NSStringEnumerationByWords:將string按空格分開,並且會自動清理首尾的空格 // 這個方法會把中間多余的空格也清理掉,比如上面的字符串,s和d之間有兩個空格,會變成一個空格 [string enumerateSubstringsInRange:NSMakeRange(0, string.length) options:NSStringEnumerationByWords usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) { [outputString appendFormat:@"%@ ",substring]; }]; // 刪除我們添加的末尾的一個空格 [outputString deleteCharactersInRange:NSMakeRange(outputString.length-1, 1)]; NSLog(@"%@",outputString);輸出:
abcdefg hijklmn s d
如果你想保留字符串內的空格,那麼按下面這個比較麻煩的方法:
NSString * string = @" abcdefg hijklmn s d "; NS......余下全文>>
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved