|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
( M1 } c( d I
/ S* C. V7 {% F* b9 V1 I如果需要全字符串匹配,用Find, d$ z2 a8 u' z7 B
2 i7 T8 Q, L" `! ~
' Y, t$ D# ]+ K1 t4 {
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。
* u9 Y0 f( p* n Q% \- F# {* M" `6 ?1 M" |% W! p o
现将find和find_first_of的区别与几种使用形式介绍如下
: P/ l6 b; t' P/ g! z( C# u. T
5 t/ f+ W. M! o. T4 y9 p/ \find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
# L, |" S; N: Y- M2 D+ |/ F
+ K/ h, e: L/ ]8 K' Dfind有四种使用形式。
' j6 O& f: _% E/ h) g3 w$ f3 V, b+ r# F" q+ N0 W
1、size_type find(const basic_string& str, size_type pos = 0) const;7 X2 N0 Q; O Q; r
) o' O2 h2 D% g8 R; T$ j5 P" M
表示 从pos位置开始找子字符串str v+ F2 ^" w5 V1 u4 X( a5 e
9 D0 o3 i) M. d2 l
2、size_type find(const char* s, size_type pos, size_type count)const;4 V7 W8 ^& O+ s' s2 a1 u: P. V9 b4 U
S3 D+ b4 W7 D6 E! Q
从pos位置开始找到与字符串s的前count个字符相等的子串
, Q, h9 \3 R" H5 [2 B; W2 O1 ~6 L5 m! B" g9 T# y
3、size_type find(const char* s, size_type pos = 0)const;
) O& e6 O2 Z Y2 d) y* c& W
' o- o. z. s& i9 Q7 ~从pos位置开始找与字符串s相等的子串
8 C0 t; `; U$ m4 v) V; Z. Q, K4 E- x2 J7 i' {8 a
4、size_type find(char ch, size_type pos = 0) const;
0 c1 x* g8 a/ s8 {: Q6 b( g+ y- A7 i! M# b2 B# K B
从pos位置开始找字符ch。3 X6 Z, u7 q+ G
# g0 h) d: {5 Q$ K: p x& L
& K7 X$ L; O/ D* D; [! k
5 t4 j; H0 n. v; y# r L
find_first_of的四种形式
7 T. h U% a+ T. Z9 u' n) a9 q% V
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;0 K- Y1 b% m8 ^* U1 S" U7 ~
- i" A- W/ S8 o! x- O5 s
从pos位置开始找到第一个与str中任意一个字符相等的字符, {% v. s) ^) B" ~9 P) v
' B: m- m0 t( B) w- @' m0 c0 p6 j; | ?
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;8 r. h+ s/ v" z5 \4 X& F7 `0 @2 n
1 o( }# n, U4 `' U) O从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符" h5 @6 `) P# l
+ \( h& b8 E: T" C' Q- d, W, j
3、size_type find_first_of(const char* s, size_type pos = 0)const;5 T% F% y* s/ A5 X( O
$ w8 G, Z2 Z/ X- L2 o从pos位置开始找到第一个与s中的任意一个字符相等的字符- z! f1 f/ b% K
+ Y/ U$ q% W6 I0 y* E
4、size_type find_first_of(char ch, size_type pos = 0)const;+ t, Z# n/ {' P
# {' p/ s' K" `6 [
从pos位置开始找到第一个等于ch的字符。. G, w( z* p1 I& @" n' @
, W s/ f3 O" s9 H- L3 j
% g+ M( ^$ I& y7 w6 M* C' d( a9 H
|
|