|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
. D* G5 Q6 u- j4 @; i( _+ U; _$ T0 W$ S* s0 l" J
如果需要全字符串匹配,用Find
: U8 W( W) p7 T" z+ E8 ?) Y: U/ B4 h3 @: X: t
# L) b' r6 p# _, w5 `3 h r
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。5 U- z9 C o G- @4 q4 u `
) _: w7 v* O' X* x现将find和find_first_of的区别与几种使用形式介绍如下) O+ Q- L2 X9 ^. R) w3 ]
u* T* |6 l( |, z
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。% U- t) ?' l- I6 [' |- ?
! W) g8 C' B9 F+ o$ S& H5 o9 V9 qfind有四种使用形式。
( ]/ o) h: V# A' y. |' O3 v% R/ x' L" R% |' b9 N; q* v
1、size_type find(const basic_string& str, size_type pos = 0) const;
4 J7 I+ L( Y. L8 S/ F* D. C. P. f0 X( _5 k
表示 从pos位置开始找子字符串str7 ]& j. j4 j) \/ C/ L7 W
6 V% D1 c$ t1 m1 s2、size_type find(const char* s, size_type pos, size_type count)const;( Z( }( Z8 |2 \! l9 o. ?" V Y, Y
3 }& y/ L& n- ?# D1 G从pos位置开始找到与字符串s的前count个字符相等的子串7 O$ J7 [( h. r6 x3 X# e& w% H
1 }% O6 c+ n L. g; @. ^
3、size_type find(const char* s, size_type pos = 0)const;; S& e+ z% q1 V! p
* p) [1 F$ N2 e" V( d从pos位置开始找与字符串s相等的子串: c( [7 Z2 z0 k: I; [
/ I! ~1 N9 ?: _3 `4、size_type find(char ch, size_type pos = 0) const;
G% n3 M; ^, ~- L- b, c5 d
/ I6 F+ A2 Z; O( O |( O6 k从pos位置开始找字符ch。
- X: U; E8 l9 W0 H. n- i8 K8 u$ }; G$ m! ~1 @6 I$ o5 z" S
; E/ ~" B8 u" n% q8 v2 h
" f4 j2 P0 r) T6 d0 {
find_first_of的四种形式
' R _: ?; D8 `4 u6 Z
" e% C9 h$ N! d$ m# |: m1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;
5 u9 C5 o; g( T: C- k9 {! D1 L* l) N
6 z; Z% \1 Q8 T- y: h: K1 w从pos位置开始找到第一个与str中任意一个字符相等的字符/ D8 S/ t5 B* L, N; r
4 |5 m4 {+ @2 \2、size_type find_first_of(const char*s, size_type pos, size_type count)const;
' u# C! k C+ {7 Y& s: D! f/ Y$ U' E% V3 m/ c
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符, y- t8 h6 t, ]$ e
0 z$ X( n4 A3 { O0 k3、size_type find_first_of(const char* s, size_type pos = 0)const;# c* [8 R* x) P& q" l5 M( i
' z. _$ @1 O$ x+ B! l" ~$ V; X& h( L从pos位置开始找到第一个与s中的任意一个字符相等的字符
/ J, U$ d6 o; y' r- o8 T8 K1 `: Y! N# o, H4 o
4、size_type find_first_of(char ch, size_type pos = 0)const;
3 M2 A& J3 j: T& w- J* H/ z* ?# S' B% o9 x( n1 @8 j, W4 O, \
从pos位置开始找到第一个等于ch的字符。
- b: l. i9 [- h: P" O* B# J& q3 X; z; ]4 [5 M6 A
6 g# j2 ]4 I0 O- I0 a5 w( ~
|
|