PLM之家PLMHome-国产软件践行者

string的find和find_first_of的区别

[复制链接]

2020-3-19 19:49:22 1669 0

admin 发表于 2020-3-19 19:49:22 |阅读模式

admin 楼主

2020-3-19 19:49:22

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x

' Z- a+ m1 H0 r; J8 {) S% p5 b; d
$ Y$ A6 T+ q+ y) P. J; L2 u如果需要全字符串匹配,用Find# u& r9 p# I9 s% K# d8 a9 r* U

4 I* G1 \& w1 }* B; j; s. G3 h% B+ v4 Q) I! q2 c) b: @
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。
4 B3 r0 y8 W: S* k0 X# F* O
0 U6 w& R$ x) t$ `% J7 B( C现将find和find_first_of的区别与几种使用形式介绍如下
, I. l4 [2 N( `6 P4 o' o3 T- ?- y
: A" E1 ~0 S6 G& D' S, ], `find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。/ k) Y( t) `! g3 I& G- X4 i% w
: [7 v0 M" H3 ]! `
find有四种使用形式。
5 Q0 U5 ~- O, |6 ~, H1 H& f" s1 l; f( q( ]2 O8 {; z
1、size_type find(const basic_string& str, size_type pos = 0) const;
6 I- e. A0 ?6 V& m; h1 x$ s; E" e% h2 x& _: ]: t4 Y. E! B
表示 从pos位置开始找子字符串str
) K  B# u2 [6 {2 I4 a+ T
- V6 e* S  a( ]; G2 y2、size_type find(const char* s, size_type pos, size_type count)const;
5 g: w4 e; a/ r; q7 j# x' E9 Y" f
+ P% t( ]5 j- p! G3 Y4 u( I" `0 b从pos位置开始找到与字符串s的前count个字符相等的子串
, H4 U, ~$ J; \' Q2 y: d. ~) A# S
! a  g2 y/ y' r1 \3 G; ^3、size_type find(const char* s, size_type pos = 0)const;4 H% l! j/ d4 g4 p2 g+ T
7 q6 _6 s) a. ?+ F8 q: m
从pos位置开始找与字符串s相等的子串
% N' q5 v5 J( v4 w' j
# p6 @! Z% T( y. Z" H  K4、size_type find(char ch, size_type pos = 0) const;
1 ]6 |2 \% o  O- A+ k6 B9 O
* N5 {9 e0 O( W3 V8 s8 T- b9 @  f从pos位置开始找字符ch。
! g& G6 q/ l. h6 |6 f9 ~$ i0 {- ?' C- i* b/ }% X
& J* ~8 _6 {6 p6 X4 Y' p
8 v- ]; Z$ V, v$ G( J3 p1 B9 Z
find_first_of的四种形式
4 g% R: @4 \, m" N9 C1 S5 S4 q; r/ M9 f+ y" a
1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;  V7 t& p% e" \; ^0 i
+ D2 {1 ^) t9 n9 w# @1 F
从pos位置开始找到第一个与str中任意一个字符相等的字符
. M% {8 F& t" T1 {
/ c; m- q! ]4 X/ z& }" O; k1 O5 }2、size_type find_first_of(const char*s, size_type pos, size_type count)const;
9 a' Q1 l# K2 Q' V% q
% B$ k2 l$ ~! Y' V. j" i. P. N4 q+ t从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符3 L+ k$ k1 a+ S& [
0 p6 g# Q3 f2 n& \7 S2 z
3、size_type find_first_of(const char* s, size_type pos = 0)const;: C2 J1 s$ ~1 W$ ~
/ ]) _+ |: \0 N/ ?0 a
从pos位置开始找到第一个与s中的任意一个字符相等的字符% o$ M3 H( X& G
, _; v# b! n, d0 W6 _1 S5 p
4、size_type find_first_of(char ch, size_type pos = 0)const;
* ?1 \/ w$ n1 e" |0 ~2 @. r0 Q  w6 W8 e/ k
从pos位置开始找到第一个等于ch的字符。
( ^6 h- S( c/ \& m; A+ c; V% }3 ?2 W. \0 m) u- b7 I; ~

3 a& X2 }8 }7 ?8 c( H
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了