|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
5 \: C; H/ B" w- o2 L0 n
( z( |1 ~! `+ k- h
如果需要全字符串匹配,用Find
0 T9 ]" H; u# J) B, k
1 A- d7 s- G5 |' D# ?
& [) C6 M) o. e. D今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。6 a0 S7 \' [( E$ M$ `
" J; D# ]. L' O
现将find和find_first_of的区别与几种使用形式介绍如下* ]1 q. ^! n& Y2 G7 p- O
# H# Z; A0 n' d: V# t: K
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。& w. e' V" o3 G4 N5 b1 g' L, X
( C* S) _- w6 g9 O* z4 y% j" z# {find有四种使用形式。
O0 d! b% p v$ t! D/ c1 m; Y" U+ j9 H
1、size_type find(const basic_string& str, size_type pos = 0) const;
' `$ q: A% ^% v* F1 [3 w* u' h3 n/ \3 G1 I' L1 ] U3 R
表示 从pos位置开始找子字符串str
3 {% l+ j" h0 x2 c5 f* ?0 m; |' P) d, e% E
2、size_type find(const char* s, size_type pos, size_type count)const;5 y4 J% a6 e7 X8 B- U( Z$ D8 L6 n) B
( U+ U4 S1 n; `4 I& S% g# X1 |
从pos位置开始找到与字符串s的前count个字符相等的子串
- T% O- N& w( ?. n! E* I! G
" T+ |# d+ [: T% J: U3、size_type find(const char* s, size_type pos = 0)const;: ]) P0 }. ?1 g& j7 i
6 `. ]- ]( H5 w
从pos位置开始找与字符串s相等的子串
7 j H3 V! r2 {# ^0 A3 ^" d( \% _ `) V' d0 {
4、size_type find(char ch, size_type pos = 0) const;
% z! X4 [+ b+ l5 D+ }) [4 n; i$ S) ]2 E1 R" x) T* {
从pos位置开始找字符ch。
. y. ~" D/ w8 ^* v8 ~5 R3 ^0 l$ A8 \# B. E9 |2 l
: E0 h0 o$ t% Q( s) c* t
# z# O! V( E5 \3 U+ A6 @) F0 S! c
find_first_of的四种形式
, f5 a4 T! c, w( F* M4 ?
& @! M) `' H; p* n, v$ J- W: K1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;
$ ]" L3 M+ T( A( a" Q6 L4 y1 {0 o. ~; ]
从pos位置开始找到第一个与str中任意一个字符相等的字符
% t& ~3 m {5 |% Z, X) R0 y7 Z/ ]0 V/ M" S: k* Q6 h2 G
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;, m1 w# [& j6 F: `: G0 u) S
" c! Y% t3 ]: \
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
/ C9 i. `; u% a8 h ^# \* J; M2 y9 ]. C$ E. Z% y- b
3、size_type find_first_of(const char* s, size_type pos = 0)const;7 l6 [: N1 n+ D9 i5 k, S$ e
6 R1 g' _3 f' P# j3 w) H2 i! I从pos位置开始找到第一个与s中的任意一个字符相等的字符
$ h" k1 J. W; A! m6 o& l2 w$ G9 z
. m: [( `3 F# J" m9 C4、size_type find_first_of(char ch, size_type pos = 0)const;
, t& _9 @% T3 X2 Z/ J \# y3 o1 T# g7 ^8 H& j
从pos位置开始找到第一个等于ch的字符。
2 P- T5 n* T) J, G( t. P$ k
5 f8 Q( B7 p$ f6 k8 g6 p0 U! U' N& _4 U
|
|