|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- Z! s1 j: k/ X/ P1 s- x
6 H8 M! h! Z% h& q0 e
如果需要全字符串匹配,用Find
, v& A) x. K8 c4 c/ G, A4 V s
1 u" U: C Z$ Q$ ~, K# X8 k. `) N4 ~: f& |% w' ?6 _% j5 @& r
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。( Q% U) k4 H P1 p" J5 k
. {) l+ h3 b, W5 D, t# z" n
现将find和find_first_of的区别与几种使用形式介绍如下
5 J# I$ r# o/ X& s0 x; p) x. _0 T% p/ B3 m' R- p- k# E# @
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。 N2 X$ @+ ]2 `1 l8 l- J/ g5 Y
: W+ E# Y. b8 @find有四种使用形式。! m& q# b: ]/ T; |9 F4 R
; p3 s5 s v9 P" C1、size_type find(const basic_string& str, size_type pos = 0) const;
2 W( F& N2 i+ j% I' l& `, j1 i
' t3 t7 S5 W" |# W2 }3 U# S( t表示 从pos位置开始找子字符串str
6 `8 V I; }2 `( u: M
# ]. o ?$ z* J1 i5 r9 M P* Y2、size_type find(const char* s, size_type pos, size_type count)const;
|, {. s$ w1 g) j. ]+ Q r
+ ~( y- b) Z; D$ J从pos位置开始找到与字符串s的前count个字符相等的子串# N& x- x% Q5 ~1 ~* t' ^
' z# x, @* ~7 w
3、size_type find(const char* s, size_type pos = 0)const;
+ V/ R: r1 _# R. `/ F2 Z$ [1 G5 ] I5 r( |5 t
从pos位置开始找与字符串s相等的子串% p0 V0 I! @- z5 }0 F- T I
$ A5 f! L4 W9 ~
4、size_type find(char ch, size_type pos = 0) const;
, v# H+ Q0 _& g. K1 ], n0 h( v) o+ @$ Z) M& _' c1 I! p; g8 X& p
从pos位置开始找字符ch。, }: \' R, [) Z2 S+ V; r0 c
6 A) a5 Y0 @" J) Y- p
: T `( }/ k e, d* k; T
: f% Q8 W7 y0 P8 {: F: afind_first_of的四种形式4 e$ q& ^7 q8 e6 N. J3 I3 J7 f( U: l
8 S$ p2 Q2 M8 ~3 K6 o
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;
K! J: U5 Q" m) w v+ \9 L* q& L1 {% j$ c4 s
从pos位置开始找到第一个与str中任意一个字符相等的字符/ g3 i% g% p* ~# H3 o
: p6 M2 ^: g7 I% x7 t2、size_type find_first_of(const char*s, size_type pos, size_type count)const;+ `8 L0 U+ _$ y: \7 `2 x6 d: P
2 |' T" I$ O; c0 u& I( n! i从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符& H* L5 ]* N0 G0 M6 A
" o3 H4 I: h( U. u5 a2 h7 v6 ?3、size_type find_first_of(const char* s, size_type pos = 0)const;* d9 `3 M- a2 N/ ?4 r
5 z& c% [3 g! o
从pos位置开始找到第一个与s中的任意一个字符相等的字符
x) ?/ ], O3 M5 q: ^3 X! [: G; S. f) `" F+ V
4、size_type find_first_of(char ch, size_type pos = 0)const;8 b4 P6 z, I* y! B
4 Y4 I5 S8 I' ?& o# r
从pos位置开始找到第一个等于ch的字符。, M4 P; U2 S0 s' Z- u, h
4 n* b5 i4 ^( s1 v. p1 O d
/ l0 B( |5 m" |5 l+ k Q |
|