|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 h- v# A }" @6 z5 m& K6 @& y# q1 S( ~- r
如果需要全字符串匹配,用Find
& w+ J u2 y7 m. b4 e; g' B6 r! H8 k3 b; G$ S6 B
/ R4 u @! b! A, Z) e s今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。! l; U) ?( ^% x; O
' [! m8 D6 N4 k1 |; G% C& h4 h, R- g
现将find和find_first_of的区别与几种使用形式介绍如下
8 T5 f0 W4 ]2 Q# {' D# b! N3 |! q
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
/ U/ y8 m% e7 `3 Y3 e* k
+ V5 c; z4 q4 {find有四种使用形式。
; _ c, F) ?9 _' ?" k I9 A2 i) U: R/ m
1、size_type find(const basic_string& str, size_type pos = 0) const;
* V3 K: @3 j5 ^# ?
' Y# R; z6 d& i表示 从pos位置开始找子字符串str
* F: H0 u' ~' r+ J
, t: K7 m# L% j2、size_type find(const char* s, size_type pos, size_type count)const;% }# y2 m( i; c% m3 y* Q
) {' U+ M \" M+ ^, b( w
从pos位置开始找到与字符串s的前count个字符相等的子串% [; S; G$ k0 X1 q9 E9 g8 g, {) C
) e% l Z+ K( D, X; x8 G# P1 {3、size_type find(const char* s, size_type pos = 0)const;0 Z) u. v: M$ a- {5 ~4 M% `
: T, O1 u3 N0 G* {) T' f& z从pos位置开始找与字符串s相等的子串. \7 R9 o2 p9 @4 o) A: v- A3 B
! N7 g; x8 w: w1 a$ J3 x4、size_type find(char ch, size_type pos = 0) const;
# m' B5 D9 P$ e6 z" ~6 M( E0 m) C8 R/ t& k; w
从pos位置开始找字符ch。0 J% `1 [3 W( \; ]+ h
6 S1 [: `. R# N \" P$ V
7 W3 q( \. H* I7 h S. T8 p# a, s; J; H& z7 ?9 j8 j
find_first_of的四种形式
+ H+ Z o8 X" m- o& x! W) j3 n; K! B6 J
+ v: `- ]; q/ V& b0 ^2 P6 T* W8 t1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;
0 Y" }, M) u5 W* O) C! J; S& P- K9 Y0 ^! z* t$ h/ u6 Y- o# ~0 y
从pos位置开始找到第一个与str中任意一个字符相等的字符
; x+ n& E6 r& \0 A* m" ]. p4 t4 W( _! T; j1 T) m3 x
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;" o' h' S7 i o( y& {( Y
$ V0 A4 |, D8 y' c: J
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符% ?2 w p1 a& [ }
, A+ ]1 ~4 k5 x0 Z& M2 u/ T
3、size_type find_first_of(const char* s, size_type pos = 0)const;) V8 g. l# k$ ?% ?# _
4 h \. h4 {* o2 `: ` }从pos位置开始找到第一个与s中的任意一个字符相等的字符
" h. E" e$ S- f+ Y: x2 [$ U
6 ]% X6 A4 K2 i/ D9 q8 W ~/ D4、size_type find_first_of(char ch, size_type pos = 0)const;; J& Z0 }/ P3 x* T$ d0 a
/ ]. J- b( N$ }3 v: \ A. @从pos位置开始找到第一个等于ch的字符。
2 d: B0 ?- h' X5 g0 q' t' \& L) g v" F/ R
! F B! o& `% I( J$ L |
|