C++中判断String是否包含某些特定字符

  当系统自动读入某一类型的图片时,通常将文件的地址保存在一个String类型的字符串中,此时需要判断该文件的类型是否为所要求的类型(例如是否为一张图片等),常用的方法是判断该文件地址中是否包含特定类型的扩展名(如.jpg),则问题转化为如何判断String字符串中是否包含某些特定字符。
  方法之一就是利用标准库函数strstr()。strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。但strstr()函数接受的参数为const char*,String的成员函数c_str得到的是char*成员,但char*如何无法直接转换为const char*,需要用strcpy_s()另开辟一段内存,把字符一个一个复制过去,然后进行strstr()函数的调用,代码如下

其中stImagePath是一个String类型的变量

char* chImagePath = new char[strlen(stImagePath.c_str()) + 1];
strcpy_s(chImagePath,strlen(stImagePath.c_str()) + 1,stImagePath.c_str());

char* pJpg = strstr(chImagePath,".jpg");//判断名字中是否出现相应字符
char* pBmp = strstr(chImagePath,".bmp");
char* pPng = strstr(chImagePath,".tif");
char* pJPG = strstr(chImagePath,".JPG");
    if(pJpg==NULL && pBmp==NULL && pPng==NULL && pJPG==NULL)
    {
    break;
    }

  

时间: 2024-11-08 23:30:50

C++中判断String是否包含某些特定字符的相关文章

在php中判断一个字符串包含另一个字符串

方法一:用php的strpos() 函数判断字符串中是否包含某字符串的方法 if(strpos('Longway','way') !== false){ echo '包含way'; }else{ echo '不包含way'; } 方法二:使用了explode 用explode进行判断PHP判断字符串的包含代码如下: <?php $url = "001a.gif"; $str = "a"; $con = explode($str,$url); if (count

Oracle中判断字段是否包含中文

如果要判断字段中包含中文,有个简单的方法. SQL> drop table test purge; SQL> create table test as select * from dba_objects where rownum<10; SQL> update test set object_name='中国' where  rownum <3; SQL> commit; SQL> col object_name format a30 SQL> col as

Java中判断String不为空

1. str!=null; 2. "".equals(str); 3. str.length()!=0; 注意:  length是属性,一般集合类对象拥有的属性,取得集合的大小. 例如:数组.length就是取得数组的长度. length()是方法,一般字符串类对象有该方法,也是取得字符串长度.例如:字符串.length(); 说明: 1. null表示这个字符串不指向任何的东西,如果这时候你调用它的方法,那么就会出现空指针异常. 2.""表示它指向一个长度为0的字

转载:js实现统计字符串中特定字符出现个数的方法

//js统计字符串中包含的特定字符个数 function getPlaceholderCount(strSource) {   //统计字符串中包含{}或{xxXX}的个数   var thisCount = 0;   strSource.replace(/\{[xX]+\}|\{\}/g, function (m, i) {     //m为找到的{xx}元素.i为索引     thisCount++;   });   return thisCount; }

在Java中判断数组中包含某个元素的几种方式的比较

闲来无事,将java中判断数组中包含某个元素的几种方式的速度进行对比,直接上代码 talk is cheap, show you the code package test.contain.lishaojie; import java.util.Arrays;import java.util.HashSet;import java.util.Set; public class TestContain { /** * @param args */ public static void main(S

Java中判断某一字符串是否包含数字、字母和中文

在Java中判断某一字符串是否为纯英文.纯数字.英文和数字的组合等时,通常使用正则str.matches匹配,告诉这个字符串是否与给定的正则表达式匹配. 各种字符的unicode编码的范围: 汉字:[0x4e00,0x9fa5](或十进制[19968,40869]) 数字:[0x30,0x39](或十进制[48, 57]) 小写字母:[0x61,0x7a](或十进制[97, 122]) 大写字母:[0x41,0x5a](或十进制[65, 90]) import java.util.regex.M

java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”

在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断方法,如下: // 判断一个字符串是否都为数字 public boolean isDigit(String strNum) { return strNum.matches("[0-9]{1,}"); } // 判断一个字符串是否都为数字 public boolean isDigit(Str

数据库中判断内容中是否包含中文

SQL Server 用patindex()函数判断,例如'patindex(%[吖-做]%',字段名)>0 Oracle 用lengthb()和length()函数求字段对应内容的的长度,长度不一样则说明内容中包含汉字 数据库中判断内容中是否包含中文,布布扣,bubuko.com

判断JSON返回的对象中的firstName这一列的值是否包含指定的字符

判断JSON返回的对象中的firstName这一列的值是否包含指定的字符,如果包含指定字符则返回true,否则返回false 标签: <无> 代码片段(1)[全屏查看所有代码] 1. [代码][其他]代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51