精华内容
下载资源
问答
  • C++中的find函数用法

    2020-01-20 15:50:06
    摘要: 1.find()查找第一次出现的...3.find_last_of() 这个函数find_first_of()功能差不多,只不过find_first_of()是从字符串的前面往后面搜索,而 find_last_of()是从字符串的后面往前面搜索(非全匹配) 4...

     

    摘要:

    1.find()查找第一次出现的目标字符串(全匹配)

    2.find_first_of() 查找子串中的某个字符最先出现的位置(非全匹配)

    3.find_last_of() 这个函数与find_first_of()功能差不多,只不过find_first_of()是从字符串的前面往后面搜索,而         find_last_of()是从字符串的后面往前面搜索(非全匹配)

    4.rfind() 反向查找字符串,即找到最后一个与子串匹配的位置(全匹配)(从前往后搜索)

    5.find_first_not_of() 找到第一个不与子串匹配的位置(非全匹配)



    • 1.find()   

    注:要与子串完全匹配,否则返回-1

    查找第一次出现的目标字符串

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int main() {
    	string s1 = "abcdef";
    	string s2 = "de";
    	int ans = s1.find(s2);//在S1中查找子串S2
    	cout << ans << endl;
    	return 0;
    }
    //输出结果:3
    

     

    说明:如果查找成功则输出查找到的第一个位置,否则返回-1;

     

    查找从指定位置开始的第一次出现的目标字符串:

     

    #include <iostream>
    #include <cstdio>
    using namespace std;
    int main() {
    	string s1 = "abcdef";
    	string s2 = "de";
    	int ans = s1.find(s2, 2);//从S1的第二个字符开始查找子串S2
    	cout << ans << endl;
    	return 0;
    }
    //输出结果:3

     

     

    • 2.find_first_of()

     注:不需要与子串完全匹配

    查找子串中的某个字符最先出现的位置。find_first_of()不是全匹配,而find()是全匹配

    #include <iostream>
    #include <cstdio>
    using namespace std;
    int main() {
    	string s1 = "adedef";
    	string s2 = "dek";
    	int ans = s1.find_first_of(s2);//在S1中查找子串S2
    	cout << ans << endl;
    	return 0;
    }
    //输出结果:1

    其中find_first_of()也可以约定初始查找的位置:s1.find_first_of(s2, 2) ;

     

    • 3.find_last_of()

    注:不需要与子串完全匹配

    这个函数与find_first_of()功能差不多,只不过find_first_of()是从字符串的前面往后面搜索,而find_last_of()是从字符串的后面往前面搜索。

     

    #include<iostream>
    #include <cstdio>
    using namespace std;
    int main() {
    	string s1 = "adedef";
    	string s2 = "dek";
    	int ans = s1.find_last_of(s2);//在S1中查找子串S2
    	cout << ans << endl;
    	return 0;
    }
    //输出结果为:4
    • 4.rfind()

    注:要与子串完全匹配,否则返回-1

    反向查找字符串,即找到最后一个与子串匹配的位置

    #include<iostream>
    #include <cstdio>
    using namespace std;
    int main() {
    	string s1 = "adedekf";
    	string s2 = "dek";
    	int ans = s1.rfind(s2);//在S1中查找子串S2
    	cout << ans << endl;
    	return 0;
    }
    //输出结果为:3
    • 5.find_first_not_of()

    注:不需要与子串完全匹配

    找到第一个不与子串匹配的位置

    #include<iostream>
    #include <cstdio>
    using namespace std;
    int main() {
    	string s1 = "dadedef";
    	string s2 = "dek";
    	int ans = s1.find_first_not_of(s2);//在S1中查找子串S2
    	cout << ans << endl;
    	return 0;
    }
    //输出结果:1


     

    展开全文
  • C++中find函数用法

    万次阅读 2019-06-01 19:44:40
    C++中STL里提供了许多字符串操作的函数,下面是字符串查找方面的部分函数用法简介:

    C++中STL里提供了许多字符串操作的函数,下面是字符串查找方面的部分函数用法简介:

    • find()

    查找第一次出现的目标字符串:说明:如果查找成功则输出查找到的第一个位置,否则返回-1;

    #include <iostream>
    #include <cstdio>
    using namespace std;
    int main() {
        string s1 = "abcdef";
        string s2 = "de";
        int ans = s1.find(s2) ;   //在S1中查找子串S2
        cout << ans << endl;
        system ("pause");
    }
    
    

    查找从指定位置开始的第一次出现的目标字符串

    #include <iostream>
    #include <csdtio>
    using namespace std;
    int main() {
        string s1 = "abcdef";
        string s2 = "de";
        int ans = s1.find(s2, 2) ;   //从S1的第二个字符开始查找子串S2
        cout << ans << endl;
        system("pause");
    }
    
    
    • find_first_of()

    查找子串中的某个字符最先出现的位置。    find_first_of()不是全匹配,而find()是全匹配

    #include<iostream>
    #include<csdtio>
    using namespace std;
    int main(){
        string s1 = "adedef";
        string s2 = "dek";
        int ans = s1.find_first_of(s2) ;   //在S1中查找子串S2
        cout << ans << endl;
        system ("pause");
    }

    其中find_first_of()也可以约定初始查找的位置:s1.find_first_of(s2, 2) ;

    • find_last_of()

    这个函数与find_first_of()功能差不多,只不过find_first_of()是从字符串的前面往后面搜索,而find_last_of()是从字符串的后面往前面搜索。

     

    • rfind()

    反向查找字符串,即找到最后一个与子串匹配的位置

    • find_first_not_of()

    找到第一个不与子串匹配的位置
    作者:小白的进阶 
    来源:CSDN 
    原文:https://blog.csdn.net/laobai1015/article/details/62426137 

    展开全文
  • string中的find函数

    千次阅读 多人点赞 2018-12-07 00:10:38
    今天看代码,发现对STL中find函数掌握还是有点少,现在总结一下find函数的用法。 在非string类型的容器里,可以直接找出所对应的元素。find函数需要几个参数:迭代器、下标志、所要找的元素。 例如: vector&...

      今天看代码,发现对STL中find函数掌握还是有点少,现在总结一下find函数的用法。

      在非string类型的容器里,可以直接找出所对应的元素。find函数需要几个参数:迭代器、下标志、所要找的元素。

      例如:

       vector<int>  a;

       find(a.begin(),a.end(),1);

       这句话就表示从a的头开始一直到尾,找到第一个值为1的元素,返回的是一个指向该元素的迭代器。

     

    find函数一般在string中使用较广,find函数有一系列的函数,今天简单总结一下:

    1.find()

    (1)find()函数查找第一次出现的目标字符串。

    #include <string>
    #include <iostream>
    using namespace std;
    int main()
    {
    	string str1("i am a student");
    	string str2("student");
    	string::size_type pos = str1.find(str2);   //在字符串str1中寻找字符串str2
    
    	if (pos == str1.npos)       //对于字符串str1中没有该字符串str2的情况做出处理
    	{
    		cout << "没有找到str2" << endl;
    		return 0;
    	}
    
    	cout << "Found str2 at str1: " << pos << endl;    //打印字符串str2在str1中开始的位置
    	cout << "Element:" << str2 << endl;                
    
    	return 0;
    }

     

    若将str1改为“i  am  a  student  student”,那么结果会发生改变吗?

     

    我们发现答案和第一次运行的结果是一致的,因此find()只返回第一次出现的目标字符串。

    (2)find(string  str,  int  pos)

    如果find()函数中除了有被找寻的字符串,还有一位整型数,表示从改位置开始遍历被搜索的字符串,已找到被找寻的字符串。

    将上面的代码简单的修改一下

    现在从第八位开始遍历str1,有上面的运行结果我们应该知道现在应该找不到str2,运行结果:

    2.find_first_of()

    find_first_of()表示查找字符串的某个字符最先出现的位置,find_first_of()不是全匹配,即它不是必须要查找的字符串在被查找的字符串中全部出现,而是出现个别字符即可。

    我重新举一个例子:

    #include <string>
    #include <iostream>
    using namespace std;
    int main() {
    	string numerics("0123456789");
    	string name("r2d2");
    	string::size_type pos = name.find_first_of(numerics);
    	if (pos == name.npos)
    	{
    		return 0;
    	}
    	cout << "Found numercis at name: " << pos << endl;    
    	cout << "Element:" << name[pos] << endl;
    }

    可以看出,该函数是将被查找的字符串和查找的字符串中第一个重复的字符的下标返回回来。

    3.find_last_of()

    find_last_of()函数与find_first_of()功能差不多,只不过find_first_of()是从字符串的前面往后面搜索,而find_last_of()是从字符串的后面往前面搜索。

    4.rfind()

    rfind()函数是反向查找字符串,即找到最后一个与子串匹配的位置

    5.find_first_not_of()

    find_first_not_of()函数是找到第一个不与子串匹配的位置
     

    展开全文
  • 在 Excel 中,Mid函数用于从文本中提取从指定位置开始的指定字符数,而MidB函数用于从文本中提取从指定位置开始的指定字节数...Mid函数和MidB函数常与 Len、LenB、Find、VlookUp、LookUp 和 Match 等函数组合使用;...

    在 Excel 中,Mid函数用于从文本中提取从指定位置开始的指定字符数,而MidB函数用于从文本中提取从指定位置开始的指定字节数;它们的区别为:前者把全角(如汉字)与半角(如数字和字母)都算作一个字符,后者把全角算作两个字节、半角算作一个字节,一个以字符数算,另一个以字节数算。

    Mid函数和MidB函数常与 Len、LenB、Find、VlookUp、LookUp 和 Match 等函数组合使用;其中 Mid 与 Len 和 LenB 组合实现反向提取字符,Len 和 LenB 通常用于计算要提取字符开始位置或提取长度;Mid 与 Find 组合实现截取单位,Find 通常用于确定要提取字符的开始位置。

    一、Excel Mid函数和MidB函数的语法

    1、Mid函数表达式:MID(Text, Start_Num, Num_Chars)

    中文表达式:MID(文本, 起始提取位置, 提取字符数)

    2、MidB函数表达式:MIDB(Text, Start_Num, Num_Bytes)

    中文表达式:MIDB(文本, 起始提取位置, 提取字节数)

    3、说明:

    A、Mid函数把全角和半角字符(如汉字与字母)都算作一个字符,MidB函数把全角算作两个字节、半角算作一个字节。

    B、Start_Num 为要提取字符的起始位置,如果要提取第一个字符,则 Start_Num 为 1;Start_Num 必须大于等于 1,否则将返回值错误#VALUE!;如果 Start_Num 大于文本长度,将返回空值(即"");如果 Start_Num 小于文本长度,但加上 Num_Chars 后大于文本长度,则只返回到文本最后一个字符。

    C、Num_Chars 为要提取字符数,它必须大于或等于 0,否则将返回值错误 #VALUE!。

    D、Num_Bytes 为要提取字符的字节个数,它必须大于或等于 0,否则也返回将值错误 #VALUE!。

    二、Excel Mid函数的使用方法及实例

    (一)从第一个字符开始提取与返回空值("")的实例

    1、假如要提取“Excel2016 教程”中的 Excel;双击 B1 单元格,输入公式 =MID(A1,1,5),按回车,返回 Excel;双击 B1 单元格,把公式中的 1 改为 13,按回车,返回空值;操作过程步骤,如图1所示:

    e7b5581474bc685df88acfd30ab68abc.gif

    图1

    2、公式说明:

    A、公式 =MID(A1,1,5) 中,A1 为要提取字符的文本,1 为要提取字符的起始位置,5 为提取字符数,公式的意思是,从“Excel2016 教程”中第一个字符(即 E)开始提取,共取 5 个字符,即提取 Excel。

    B、公式 =MID(A1,13,5) 要从 A1 中的文本(“Excel2016 教程”)的第 13 个字符开始提取,由于文本只有 12 个字符(空格也算一个字符),所以返回空值(即 "")。

    (二)只返回到文本最后一个字符的实例

    1、假如要提取“Excel2016 教程”中的“教程”。双击 B1 单元格,把公式 =MID(A1,11,3) 复制到 B1,按回车,返回“教程”二字;操作过程步骤,如图2所示:

    29ddd7f1bcba8b3bea59b11b43a8cc43.gif

    图2

    2、在“Excel2016 教程”中,第 10 个字符为空格,第 11 字符为“教”,它后面只有一个字,而公式 =MID(A1,11,3) 要提取 3 个字符,由于从“教”字到末尾不足 3 个字,所以只提取到末尾字符。

    提示:如果要提取的字符比较长,不知道要提取多少个字符,把第三个参数设置为一个比要提取字符数大的数值。

    (三)提取字符数小于 0,返回 #VALUE! 错误实例

    1、双击 B1 单元格,把公式 =MID(A1,6,1) 复制到 B1,按回车,返回 2;双击 B1,把 1 改为 0,按回车,返回空;再次双击 B1,把 0 改为 -1,按回车,返回值错误 #VALUE!;操作过程步骤,如图3所示:

    ccc7cd38520f5c9040feb047d87dee46.gif

    图3

    2、公式 =MID(A1,6,1) 意思从第 6 个字符开始返回 1 字符,即返回 2;公式 =MID(A1,6,0) 返回 0 个字符,即返回空;公式 =MID(A1,6,-1) 返回 -1 个字符,由于要提取的字符数必须大于 0,因此返回值错误 #VALUE!。

    三、Excel MidB函数的使用方法及实例

    (一)提取数字和字母的实例

    1、假如要从“Excel2016 教程”中提取 Excel2016。双击 B1 单元格,把公式 =MIDB(A1,1,9) 复制到 B1,按回车,返回 Excel2016;操作过程步骤,如图4所示:

    80dc92bb1d2025e687aa1fe67dddda08.gif

    图4

    2、公式 =MIDB(A1,1,9) 中,A1 为要提取字符的文本,1 为开始提取位置,9 为要提取的字节数;公式的意思是,从字符串“Excel2016教程”的第一个位置 E 开始提取 9 个字符,恰好是 Excel2016,说明MidB函数与Mid函数一样,把数字和字母都当作一个字节。

    (二)提取汉字的实例

    1、假如要从“Excel2016 函数使用教程”中提取“函数”。双击 B1 单元格,把公式 =MIDB(A1,11,4) 复制到 B1,按回车,返回“函数”二字;双击 B1,把 4 改为 5,按回车,同样返回“函数”;操作过程步骤,如图5所示:

    69c3f9f11e59e539b4c3e846c60092f2.gif

    图5

    2、公式 =MIDB(A1,11,4) 从第 11 个字符开始提取 4 个字节,由于每个汉字为两个字节,因此提取出两个汉字,即提取到“函数”;而公式 =MIDB(A1,11,5) 也返回“函数”,说明提取全角字符时,MidB函数会自动减掉半个字节,即 5 取 4,如果取 5,则要提取的第三个字“使”会返回乱码,因为一个汉字必须由两个字节组成,半个字节只能是乱码;如果“函数”二字后是 数字或字母,则会取 5,例如“Excel2016 函数2使用教程”,公式 =MIDB(A1,11,5) 返回“函数2”。

    四、Excel Mid函数和MidB函数的应用实例

    (一)Mid + Len函数组合实现反向提取字符(即从右往左提取字符)

    1、假如要从右边开始提取“Excel2016 函数使用教程”6 个汉字。双击 B1 单元格,把公式 =MID(A1,LEN(A1) - 6 + 1,6) 复制到 B1,按回车,返回“函数使用教程”;操作过程步骤,如图6所示:

    e9a998765217d32bd8a623d5e06e593f.gif

    图6

    2、公式 =MID(A1,LEN(A1) - 6 + 1,6)说明:

    A、公式中的 6 是要提取的字符数;LEN(A1) 用于计算 A1 字数个数,全角与半角都算一个字符,返回结果为 16,则 LEN(A1) - 6 + 1 等于 11,即计算出要开始提取的字符,该位置恰好是“函”字。

    B、则公式变为 =MID(A1,11,6),然后从第 11 个字符开始提取 6 个字符,即截取得“函数使用教程”。

    提示:MidB函数也可以反向提取字符,公式 =MIDB(A1,LEN(A1) - 6 + 1,6) 用 MidB 可以这样写:=MIDB(A1,LEN(A1) - 6 + 1,12),把公式复制到 B2,按回车,也返回“函数使用教程”,操作过程步骤,如图7所示:

    a752e55f112799ce829bac5ac066f7a4.gif

    图7

    公式 =MIDB(A1,LEN(A1) - 6 + 1,12) 中,6 为要提取的字符数,12 为要提取的字节数,为什么一个为 6、一个为 12?因为,Len函数全角和半角都算作一个字符,而MidB函数把全角算作两个字节、半角算作 1 个字节。

    (二)Mid + Find函数组合实现从任意指定字符开始提取

    1、假如要提取 A 列中数字后面的单位。双击 B1 单元格,把公式 =MID(A1,FIND("升",A1),4) 复制到 B1,按回车,返回“升/瓶”;选中 B1,把鼠标移到 B1 右下角的单元格填充柄上,鼠标变为加号后,按住左键,双击,则提取出剩余单元格的单位;操作过程步骤,如图8所示:

    e7f43e4900dbe9c8bcda9e0318933025.gif

    图8

    2、公式 =MID(A1,FIND("升",A1),4) 说明:

    A、FIND("升",A1) 用于找出 "升" 在 A1 中文本的位置,"升" 为要查找的文本,A1 为要查找 "升" 的文本,另外,FIND("升",A1) 还省略了最后一个参数“查找的开始位置”,默认从第一个字符开始查找。FIND("升",A1) 返回 4。

    B、则公式变为 =MID(A1,4,4),即从第 4 个字符开始截取 4 个字符,结果为“升/瓶”。

    展开全文
  • I have a string and an arbitrary index into the ... I want find the first occurrence of a substring before the index.An example: I want to find the index of the 2nd I by using the index and str.rf...
  • python 反向查找

    千次阅读 2014-10-09 14:55:00
    python 字符串反向查找大部分在正向查找前面加入r eg: str.rfind('str') str.rsplit(',') 转载于:https://www.cnblogs.com/shellnalu/p/4013368.html
  • 字符串中find函数

    2020-10-22 03:24:31
    洛谷1308 1.find() 查找第一次出现的目标字符串: #include #include using namespace std; int main(){ ...说明:如果查找成功则输出查找到的第一个位置,否则返回-1; 查找从指定位置开始的第一次出
  • 某表中存的menuitem字段值为"3,4",要求找出3和4对应的menuitem值:SELECT name FROM tb_menuitemwhere CONCAT(',', '3,4', ',')like CONCAT('%,', CAST(id AS CHAR),',%') --id...作用同find_in_set在mysql workben...
  • find函数用法详解

    万次阅读 2017-04-22 21:41:55
    find函数: 语法:find (string, sub3tring),返回substring首次在string中出现的位置,若未找到,则返回0. 其中: modifier可以是 i|I : 不区分大小写的搜索 t|T : 忽略string和substring中的末尾空格 startpos...
  • C++string中的find()函数

    2020-01-23 23:57:49
    思路:此处需要用到string库中的find函数与npos参数。 (1)string::npos参数 string::npos参数: npos是一个常数,用来表示不存在的位置,npos定义的类型是: string::size_type。npos定义为:static const size_...
  • excel函数使用方法-mid()和find()

    千次阅读 2019-02-28 08:58:02
    excel函数mid和find配合使用处理字符串
  • 1 . find( string s) 查找第一次出现的目标字符串,返回值是第一次出现的位置,如果没有就返回-1,也可以写成string::npos ...4. find_last_of(string s)这个函数find_first_of()功能差不多,只不.
  • C++ 中string.find() 函数的用法总结

    千次阅读 2018-06-02 14:49:01
    ////find函数返回类型 size_type string s("1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8ha9i"); string flag; string::size_type position; //find 函数 返回jk 在s 中的下标位置 position = s....
  • //方法1:查找id是111的part Part part1 = parts.Find( delegate(Part part) { return part.id == 111 ; }); Console.WriteLine(part1.id); //方法2:查找id是222的part Part part2 = parts....
  • 题目描述: ...合理使用find函数;参考此处 1.string中find()返回值是字母在母串中的位置(下标记录),如果没有找到,那么会返回一个特别的标记npos。(返回值可以看成是一个int型的数) position = s.fin
  • 1. find() 查找第一次出现的目标字符串:如果查找成功则输出查找到的第一个位置,否则返回-1; #include<iostream> #include<cstdio> using namespace std; int main() { string s1 = "abcdef"; ...
  • string类的正向和反向查找

    千次阅读 2013-08-24 22:54:59
    1、正向查找和反向查找函数  正向查找: s.find(s0)  反向查找: s.rfind(s0)  其中s表示待查找的字符串,s0表示需要查找的子字符串,两个函数的返回值均为首次找到子串时,子串的  首字符在原待查找字符串中...
  • MySql中使用FIND_IN_SET对数据进行反向查询
  • pb数据窗口函数find()

    万次阅读 2016-03-24 10:44:21
    一般情况下,我们要逐条查找数据窗口中满足某一条件的记录进行处理的时候,我们的代码经常会是下面这种:   ll_findrow=dw.find(findclause,1,dw.rowcount()) do while ll_find>0    ll_findrow=dw.find...
  • void main(){代码如下:////find函数返回类型 size_typestring s("1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8ha9i");string flag;string::size_type position;//find 函数 返回jk 在s 中的下标位置position...
  • 【STL】string的find()函数

    千次阅读 2018-03-30 18:41:49
    std::container_type::size_type,每一个容器类都会定义这个值,表示一个不存在的位,用于统一对容器查找结果的判断,如find函数,若没有找到相应的值,就会返回npos,大家只要判断find返回的值是不是等于npos,就能...
  • C++中find()函数的使用方法

    万次阅读 2018-07-25 09:24:29
    转载自:...   string中 find()的应用 (rfind() 类似,只是从反向查找) 原型如下: (1)size_t find (const string&amp; str, size_t pos = 0) const; //查找对象--string类对象 (2)...
  • Excel逆向查找得心应手

    千次阅读 2018-08-24 15:58:42
    首先介绍一下excel中的数组 excel数组,有横向数组和纵向数组 横向数组的数据之间用“,”隔开,...MATCH函数查找出D7单元格在B3:B11中的位置,为第4个单元格,INDEX返回A3:A11区域第四个单元格的内容,即史桥茹。
  • MySQL使用内置函数来进行模糊搜索(locate()等) 常用的一共有4个方法,如下: 1. 使用locate()方法  1.1.普通用法:  SELECT `column` from `table` where locate('keyword', `condition`)>0 ...
  • C++ 中string.find()函数的用法及实例

    千次阅读 2017-09-24 09:45:23
    C++ 中string.find()函数的用法及实例
  • string中的find函数和string::npos的使用

    千次阅读 2017-09-22 11:05:40
    转载至...查找字符串a是否包含子串b, 不是用strA.find(strB) > 0而是strA.find(strB) != string:npos string::size_type pos = strA.find(strB); if(po

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,576
精华内容 9,830
关键字:

find函数反向查找