Excel中的find函数
使用语法
FIND(find_text,within_text,start_num)
Find_text 是要查找的字符串。
Within_text 是包含要查找关键字的单元格。就是说要在这个单元格内查找关键字。
Start_num 指定开始进行查找的字符数。比如Start_num为1,则从单元格内第一个字符开始查找关键字。如果忽略 start_num,则假设其为 1。1
注意
使用find函数可从文本字符串中查找特定的文本,并返回查找文本的起始位置。查找时,要区分大小写。全角和半角字符。查找结果的字符位置不分全角和半角,作为一个字符来计算。可以单独使用find函数,例如。按照查找字符的起始位置分开文本字符串,或替换部分文本字符串等,也多用于处理其他信息。计数单位如果不是字符而是字节时,请使用findb函数。find函数和findb函数具有相同的功能,但它们的计数单位不同。2
使用 start_num 可跳过指定数目的字符。例如,假定使用文本字符串“AYF0093.YoungMensApparel”,如果要查找文本字符串中说明部分的第一个“Y”的编号,则可将 start_num 设置为 8,这样就不会查找文本的序列号部分。FIND 将从第 8 个字符开始查找,而在下一个字符处即可找到 find_text,于是返回编号 9。FIND 总是从 within_text 的起始处返回字符编号,如果 start_num 大于 1,也会对跳过的字符进行计数。3
如果 find_text 是空文本 (),则 FIND 则会返回数值1。
Find_text 中不能包含通配符。
如果 within_text 中没有 find_text,则 FIND返回错误值 #VALUE!。
如果 start_num 不大于 0,则 FIND返回错误值 #VALUE!。
如果 start_num 大于 within_text 的长度,则 FIND 返回错误值 #VALUE!。
应用示例
A2=“广东省东莞市东城区…”,A3=“黑龙江省哈尔滨市…”; 对含有不同地方的数据,利用“Find”函数,非常简单地确定“省”出现的位置。
详细解释
公式“=FIND("省",A2)”中,“省”表示要查找的文本为“省”,(实际使用中,也可以很长的一串字符)。要找查找的对象是A2单元格的内容“广东省东莞市东城区…”,因为没有指定起始位置,所以系统从第一位开始。返回的“3”,表示“省“字在第三位。
而公式“=FIND("省",A3)”中,“黑龙江省哈尔滨市…”则返回4。
注:FIND函数,第一位查找内容,如果是文本的话,必须添加英语输入法下的双引号,否则函数无法计算。
与Find类似,Search函数也有相同的功能。它们的区别是,Find区分大小写,而Search不分大小写(当被查找的文本为英文时)。
另外,在Excel中,对文本进行处理的很多函数都提供了一个特别用来处理双字节字符(如中文,日文)的函数,一般是在原函数后加“B”,如FIND, 就有一个FINDB。LEFT,相对应的就是LEFTB等。其实,在实际应用中,使用不带“B”的函数就足够了。如果想使用带“B”的函数,则要特别注意,尤其是在组合运用函数时,其中一个函数使用带“B”的形式,则其它有带“B”形式的函数,全部都要使用其带“B”的形式,否则结果极可能是错的。
C++中的find函数
泛型算法的 find
在非string类型的容器里,可以直接找出所对应的元素.find函数需要几个参数:迭代器,下标值,所要找的元素。
<pre data-lang="cpp">vector<int> a;find(a.begin(),a.end(),1);
这句话就表示从a的头开始一直到尾,找到第一个值为1的元素,返回的是一个指向该元素的迭代器。
find在string容器中的用途
find在string容器中用途比较广,有find_first_of,find_last_of,find_not_first_of,find_not_last_of等等。
在string类型中,需要的参数也有迭代器,下标和要找的字符串,可以查找单个的字符。因为最后一个参数是const char & _Val(头文件algorithm的定义)
string a;find(a.begin(),a.end(),‘a’)这句话就是说,在a中找到第一个存在子串与'a'子串相等的字符串的首地址。返回指向该字符串首地址的迭代器(下一次迭代将会接着上一次的迭代,这样很容易做出一个计算字符串中某个字符的出现次数)。
find_last_of则是找到最后一个。
find_not_first_of是找出第一个不与“asd”相等的字符串的首地址。
find与findb
find在一个文字串中寻找另一个文字串.并返回find_text首次出现时字符的位置。用户也可以使用search来在—个文字串中寻找另一个,但与search不同,find区分大小写,并且不允许通配符。
findb在一个文字串中寻找另一个文字串,并返回find_text首次出现时字符的位置。此函数与find一样,唯一不同的是find视双字节为1,而findb视双字节为2。如果star_num指向双字节字符串的第二字节,则由下一字节开始寻找。用户也可以使用searchb在一个文字串中寻找另一个, 但与searchb不同,findb区分大小写,并且不使用通配符。4
JavaScript中的 find函数
find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。5
find() 方法为数组中的每个元素都调用一次函数执行:5
- 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。5
- 如果没有符合条件的元素返回 undefined。5
注意: find() 对于空数组,函数是不会执行的。 find() 并没有改变数组的原始值。5
MATLAB中的find函数
k = find(X) 返回一个包含数组 X 中每个非零元素的线性索引向量。6
如果 X 为向量,则 find 返回方向与X相同的向量。如果 X 为多维数组,则 find 返回由结果的线性索引组成的列向量。如果 X 包含非零元素或为空,则 find 返回一个空数组。6
线性索引组成的列向量:表示索引按照列,从1开始,从第一列开始,下一列的第一个值的索引紧接上一列最后一个值的索引。6