|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- r* u. g, ?0 }9 `! H
" k: v# ^, D( D2 m( l) ~; n5 n如果需要全字符串匹配,用Find
! J: `1 w+ S! A. {" ^5 S( @& k& t# L" i3 P* @& G
& ~ w, F! j/ n1 P7 i3 V今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。
7 N! n) O& B1 U; c# y( ~
J" u5 f$ b3 `8 u0 G z现将find和find_first_of的区别与几种使用形式介绍如下* ]4 B; f3 H9 t! C# }
% |6 L7 `, {: \6 @find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
& p4 t7 X/ g; y- z3 q! @
5 Z* D( ?0 _6 `find有四种使用形式。) O' |. z. t/ q' M0 O, c, _9 B, A
! z+ M5 w& z; x4 M! Z! o$ l
1、size_type find(const basic_string& str, size_type pos = 0) const;9 x& n- h; C9 F3 d8 j3 C
; ?9 |, _* u. Z; _! S4 u. x
表示 从pos位置开始找子字符串str% z9 S, i% |* B7 ?# j/ ]* k6 I
) g, J: X- I9 W# |
2、size_type find(const char* s, size_type pos, size_type count)const;
6 e! x3 j0 U! A; N% E' M& W; V5 z
3 ]/ i3 G @' }3 z从pos位置开始找到与字符串s的前count个字符相等的子串
$ K, X" a4 l- X& ^3 {% m
0 l# U+ D* F4 X l3、size_type find(const char* s, size_type pos = 0)const;
# O: s0 v4 ?8 u: C. Z/ U' }9 e
5 b% `- d9 W& _& s1 \- B从pos位置开始找与字符串s相等的子串' U+ Q" o2 f g6 _. y, q
( ]' o. L* }! c# I8 k* x+ W0 C) S1 _
4、size_type find(char ch, size_type pos = 0) const;
" I( c: t3 R% W% P7 V. |
( I+ w- _1 p- J" b9 X& t从pos位置开始找字符ch。, `2 m; ~% A3 m5 b5 Y/ o
# e% w9 r2 X: u5 n: ?$ `$ r1 t2 o" e' S, ^0 j
; E- s1 N8 |. U: U
find_first_of的四种形式3 t, I$ m& t ]# \& {9 f; l2 Q8 z
' i5 H/ |6 U: j' t, a
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;# E: ?+ W1 U$ r8 `! B) S
# w* s3 h" e+ f! ]5 P6 m8 f* p7 H
从pos位置开始找到第一个与str中任意一个字符相等的字符
U+ P$ @6 G. |$ F' E: Y* x0 B: j' r7 i+ |
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;* p' z, J* y; r8 H5 R
) { j7 \* n6 p2 J
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符$ ?# w" v W8 i7 G* \0 u. \! U% c( P
$ U8 m, N o6 U+ D" h+ S1 a! l3、size_type find_first_of(const char* s, size_type pos = 0)const;
1 u' {4 @/ n$ V0 m/ }1 e) Z4 T$ o6 r9 e+ V' ?5 B( I7 e( e
从pos位置开始找到第一个与s中的任意一个字符相等的字符
' g4 p# v( d! g7 Y: `4 I) w! x; b5 d$ y& ~6 z7 J
4、size_type find_first_of(char ch, size_type pos = 0)const;
0 p" Q1 F! }8 H, c, f% Z
4 k, G$ ]0 i# W& r1 W1 P从pos位置开始找到第一个等于ch的字符。
9 b' g& {8 E8 D) Z( _/ {
% B# t+ f7 ^3 R
- O0 b; a8 G- z, C2 @ |
|