字串 學習筆記

2021-10-03 14:36:17 字數 1485 閱讀 7250

這篇部落格只是記錄一下我在做題過程中碰到的一些關於字串巧妙的處理方式(可能只對我這個菜雞來說相對巧妙吧)

1、stringstream的使用

第一次碰到stringstream的使用是在紫書上面p112,題目是uva10815。前幾天補字串的題目的時候在 洛谷p1308統計單詞數 也碰到了一題可以使用stringstream的。

用法有乙個帶空格的字串s,現在需要從裡面提取乙個個的單詞,那可以進行如下操作。從s字串中提取出乙個個單詞,通過stringstream傳遞給word,然後輸出每乙個單詞

string s, word;

stringstream ss

(s);

while

(ss>>word) cout<這邊將介紹的是find函式和replace函式

大水題poj3981 題目就是要你把字串中所有的"you"替換成"we"

用法

string str, s;

int pos=str.

find

(s);

//pos返回值是s首字母的下標位置

str.

replace

(pos, n, s)

;//把str字串從第pos位開始後的n位換成字串s

**片
//poj-3981

#include

using

namespace std;

intmain()

return0;

}

3、substr的使用以及reverse

這個是前幾天在codeforces上打比賽碰到的。場次是 codecraft-20 (div. 2), 題目是 b. string modification 。

題目描述

給定乙個字串s,給乙個數字k表示以下操作:從該字串 第1 到 第n-k+1 位,每次將字串從第 i 位到第 i+k-1位進行反轉。

求乙個 k 使得該字串最小,並輸出反轉的字串

思路可以發現就是進行k次操作表示將字串第k位前移,把第1位到第k位放到後面去,而第1位到第k位放到後面去是有兩種情況的,可能是正放,也可能是逆放。就看交換次數,奇數次逆放,偶數次正放。我就開了兩個字串暴力做。

用法

s.

substr

(n,m)

;//表示在s字串中從第n位開始取m個字元

reverse

(s.begin()

, s.

end())

;//表示將整個字串反轉

**片
#include

using

namespace std;

void

solve()

} cout

main()

return0;

}

如果在未來還是能碰到這些各種各樣的小技巧,繼續更新

php字串學習筆記

在這裡記錄下今天的所得 首先對字串處理進行分類 今天主要記錄有以下 字串的格式化 字串的連線與分割 字串的比較 使用字串函式匹配和替換子字串 使用正規表示式 1.字串的格式化 整理字串的第一步是清理字串中的多餘的空格 trim ltrim rtrim name isset post name tri...

Python 學習筆記 字串

今天學習python對字串的一些基礎處理,感覺對於工作中的自動化指令碼傳送cli命令會很有幫助。首先最重要的是 標稱 轉換說明符 conversion specifier 用於字串格式化。左側放置乙個字串 格式化字串 而右側放置希望被格式化的值 待格式化的值 1 2 3 4 5 left hello...

C primer 學習筆記 字串

初始化和定義 string s1 string s2 s1 string s1 hello 直接初始化 string s2 hello 拷貝初始化字串操作 string s s.empty s.size 返回值型別string size type getline cin,s 引數 流引數,字串 返回...