精华内容
下载资源
问答
  • C语言中常见的字符串处理函数

    万次阅读 多人点赞 2017-01-11 23:50:27
    C语言中常见的字符串处理函数C语言中提供了大量丰富的字符串处理函数,大致可以分为字符串的输入,输出,合并,修改,比较,转换,复制,搜索几类。 用于输入输出的函数包含在stdio.h中而其他的字符串处理函数一般...

    C语言中常见的字符串处理函数

    C语言中提供了大量丰富的字符串处理函数,大致可以分为字符串的输入,输出,合并,修改,比较,转换,复制,搜索几类。
    用于输入输出的函数包含在stdio.h中而其他的字符串处理函数一般包含在string.h中。

    1:字符串的输出函数
    int puts(char const*strPtr);
    输出字符串到显示器中去,传入的实参可以是字符串数组也也可以是字符指针
    一般情况下我们用fputs来代替

    2:字符串的输入函数
    char *gets(char *strptr);
    char *fgets();
    从标准键盘输入一个字符串存放到指针strptr指向的字符数组,一般我们使用fgets来操作

    3:获取字符串的长度
    int strlen(char const*string);
    获取字符串的长度,返回的是字符的个数,但是不会包括’\0’,结束符

    4:字符串拷贝函数
    char *strcpy(char*des,char*src);
    char *strncpy(char *des,char *src,int size);
    将src指向的字符串拷贝到des指向的字符串数组中去,结束符也一同进行拷贝,size参数也可以拷贝制定长度的字符串,建议des为字符数组
    注意:目标尽量使用字符数组,因为如果是字符指针的话,分配的内存在常量池中,是不允许进行改变的,容易造成段错误

    5:字符串的连接函数
    char * strcat(const *char str1,const *char str2);
    char *strncat(const *char str1,const *char str2,int size);
    将str2指向的字符串连接到str1指向的字符后面,同时会删除str1后面的’\0’,返回的是str1指向字符串的首地址重点内容

    6:字符串比较函数
    int strcmp(const char * str1,const char *str2);
    int strncmp(const char*str1,const char *str2,int size);
    按照ascii码来进行比较,并由函数返回值进行判断
    返回0,字符串1等于字符串2,
    大于0,字符串1大于字符串2,
    小于0,字符串1小于字符串2,

    7:字符串分割函数
    char* strtok(char *str,const char *delimiters);
    根据delimiters指向的分割符号,将str指向的字符串分割成若干个子字符串,同时返回的是分割出的子字符串

    8:字符串中是否包含字符
    char * strchr(const char *,int c);//从做往右寻找字符c
    char * strrchr(const char *,int c); //从有往左开始寻找字符c
    判断字符串中是否包含字符串;

    9:内存的初始化
    memset(void *s,int c,size_t n);

    10:内存的拷贝
    memcpy(void *des,void *src ,size_t ,n);

    下面通过案例来演示:

    #include<stdio.h>
    #include<string.h>
    
    
    int main(int argc,char *argv[]){
    
        char str_array[20] = {'\0'};
        //gets(str_array);
        //puts(str_array);
    
        fgets(str_array,sizeof(str_array),stdin);//从标准输入中读入字节数-1个字节的字符
        fputs(str_array,stdout);
    
        char *ptr_string = "helloworld";
        printf("ptr_string len:%d\n",strlen(ptr_string));
    
        printf("==============strcpy==================\n");
        char str_array2[20] = {'\0'};
        strcpy(str_array2,ptr_string);
        printf("str_array2:%s\n",str_array2);
        printf("---------------------------\n");
    
        char str_array3[10] = {"1234567890"};
        strncpy(str_array3,ptr_string,7);//将ptr_str的前7位拷贝进去
        printf("str_array3:%s\n",str_array3);
    
        printf("===============strcmp===============\n");
    
        char *ptr_string_1 = "helloworld";
        char *ptr_string_2 = "helloworld";
    
        printf("value:%d\n",strcmp(ptr_string_1,ptr_string_2));//等于0相等,大于零,即前一个大于后一个,小于0,前一个小于后一个,按ascii码比较
        char *ptr_string_3 = "nuli";
        printf("value:%d\n",strcmp(ptr_string_3,ptr_string_2));
    
        printf("=============strcat=================\n");
        char str_array4[10] = "hello";
        strcat(str_array4,str_array3);
        printf("str_array4:%s\n",str_array4);
    
        printf("============strchr=================\n");//判断字符串中是否包含字符,返回的是这个字符的指针(从左往右边)
        char *ptr_string_4 = strchr(str_array4,'l');
        printf("ptr_string4:%s,%c\n",ptr_string_4,*ptr_string_4);
    
        char *ptr_string_5 = strrchr(str_array4,'l');//从右往左寻找
        printf("ptr_string4:%s,%c\n",ptr_string_5,*ptr_string_5);
    
        if(strchr(ptr_string_5,'o')!=NULL){
            printf("ptr_string_5 contains o!\n");
        }else{
            printf("ptr_string_5 not contains o!\n");
        }
    
        printf("==================strstr===========\n");//字符串中是否包含另外一个字符串
        char *str9 = "hello";
        char *str10 = "first helloworld";
        if(strstr(str10,str9) != NULL){
            printf("str10 contains str9\n");
        }else{
            printf("str10 not contains str9\n");
        }
    
        printf("=================strtok=============\n");
    
        char str[] ="hello:zzf:hello:tom";
        int counter = 0;
        char *p = strtok(str,":");
        while(p!=NULL){
            counter++;
            printf("%s",p);
            p = strtok(NULL,":");
        }
    
        printf("================memset,memcpy==========");//内存清空和拷贝
        char src[] = "i love you";
        char des[] = "you love me";
        memset(des,0,sizeof(des));//清空或者初始化
        memcpy(des,src,sizeof(des)-1);//拷贝des字节数-1,最后一个符号用于存储结束符号
        return 0;
    }
    
    
    谢谢大家访问,代码是可以直接进行run的,由于作者是一个新Coder,所以如果大家有什么指点的地方,欢迎留言或私信
    展开全文
  • JSON字符串处理

    万次阅读 2019-01-02 17:48:46
    JSON字符串处理 在接口测试中我们需要对获取到的json字符串做一些处理,从json字符串中获取到指定的字段来进行校验,下面来总结一下对json字符串的一些处理。 JSONArray与JSONObject简介 数据表示形式 ...

    JSON字符串处理

    在接口测试中我们需要对获取到的json字符串做一些处理,从json字符串中获取到指定的字段来进行校验,下面来总结一下对json字符串的一些处理。

    JSONArray与JSONObject简介

    数据表示形式

    JSONObject的数据是用 { } 来表示的,
    例如: { “id” : “123”, “name” : “hello”, “title” : “work”, “content” : null }
    而JSONArray,顾名思义是由JSONObject构成的数组,用 [ { } , { } , …… , { } ] 来表示
    例如: [ { “id” : “123”, “name” : “hello”, “title” : “work” } , { “content” : null} ] ;
    表示了包含2个JSONObject的JSONArray。
    可以看到一个很明显的区别,一个最外面用的是 { } ,一个最外面用的是 [ ] ;

    1. 第一种json字符串处理
      String jsonstr="{“id”:“66”,“name”:“helloword”,“age”:“18”}";
      GetJsonValue gjv=new GetJsonValue();
      gjv.getJsonValue(jsonstr,“name”);
      gjv.getJsonValue(jsonstr,“id”);
      /**

      • Description:根据json字符串和key值得到key对应的value值,格式如下:{key1:value,key2:value2}

      • @param jsonstr

      • @param key
        */
        public String getJsonValue(String jsonstr,String key){
        String valuestr="";
        if(jsonstr==null || jsonstr.trim().length()==0){
        return null;
        }
        try {
        JSONObject obj=new JSONObject(jsonstr);
        valuestr=obj.getString(key);
        System.out.println(“valuestr=”+valuestr);

        } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        }
        return valuestr;
        }

    2. 第二种json字符串处理
      String str="{“languages”: [{ “langIsoCode”: “en_US”, “langActiveFlag”: true, “langName”: “United States/English” }], “currencies”: [{ “currencyIsoCode”: “USD”, “currencyActiveFlag”: true, “currencyBaseFlag”: false }]}";
      gjv.getJsonArrayValue(str, “languages”,0,“langIsoCode”);
      /**

      • 根据key值获取一个JSONArray,在JSONArray中再根据key2值获取对应的value值
      • @param jsonstr -json字符串,格式如下:{key:[{key1:value1},{}]}
      • @param key:json字符串中的key
      • @param index:JSONArray的索引
      • @param key2:JSONObject对应的key
      • @return
        */

      public String getJsonArrayValue(String jsonstr,String key,int index,String key1){
      JSONArray jsonArray=new JSONArray();
      String getStr="";
      if(jsonstr==null || jsonstr.trim().length()==0){
      return null;
      }
      try {
      JSONObject obj=new JSONObject(jsonstr);
      jsonArray=obj.getJSONArray(key);
      int arraySize=jsonArray.length();
      System.out.println(“arraySize=”+arraySize);
      JSONObject jsonObject=jsonArray.getJSONObject(index);
      getStr=jsonObject.getString(key1);
      System.out.println(“getStr=”+getStr);
      } catch (JSONException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
      }
      return getStr;
      }

    3. 第三种json字符串处理
      String str2="[{ “unitId”: “ieweb” },{ “unitId”: “PUBLIC_IE” },{ “unitId”: “Ireland” },{ “unitId”: “UKI” },{ “unitId”: “WE” },{ “unitId”: “EMEA” },{ “unitId”: “PUBLIC_GLOBAL_B2C_UNIT” }]";
      gjv.getJsonArrayValue(str2, 1, “unitId”);
      /**

      • 在JSONArray中再根据key值获取对应的value值
      • @param jsonstr -json字符串,格式如下:[{key1:value1},{key2:value2},{key3:value3}]
      • @param index -{}的索引
      • @param key -JSONObject对应的key
      • @return
        */
        public String getJsonArrayValue(String jsonstr,int index,String key){
        String jsonValue="";
        if(jsonstr==null || jsonstr.trim().length()==0){
        return null;
        }
        try {
        JSONArray jsonArr=new JSONArray(jsonstr);
        System.out.println(“jsonArr size=”+jsonArr.length());
        JSONObject jsonObj=jsonArr.getJSONObject(index);
        jsonValue=jsonObj.getString(key);
        System.out.println(jsonValue);
        } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        }
        return jsonValue;
        }
    展开全文
  • Python3常用的字符串处理函数

    万次阅读 2019-07-29 00:06:55
    字符串作为一种常见的数据类型,在日常中我们面临各式各样的字符串处理问题,那么这就要求我们必须掌握一些常用的字符串处理函数,下面我将带领大家逐一去了解一下有哪些字符串函数及运用 一、字符串函数整理 ...

    字符串作为一种常见的数据类型,在日常中我们面临各式各样的字符串处理问题,那么这就要求我们必须掌握一些常用的字符串处理函数,下面我将带领大家逐一去了解一下有哪些字符串函数及运用

    一、字符串函数整理

    capitalize()把字符串的第一个字符改为大写
    casefold()把整个字符串的所有字符改为小写
    center(width)将字符串居中,并使用空格填充至长度 width 的新字符串
    count(sub[, start[, end]])返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。
    encode(encoding='utf-8', errors='strict')以 encoding 指定的编码格式对字符串进行编码。
    endswith(sub[, start[, end]])检查字符串是否以 sub 子字符串结束,如果是返回 True,否则返回 False。start 和 end 参数表示范围,可选。
    expandtabs([tabsize=8])把字符串中的 tab 符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。
    find(sub[, start[, end]])检测 sub 是否包含在字符串中,如果有则返回索引值,否则返回 -1,start 和 end 参数表示范围,可选。
    index(sub[, start[, end]])跟 find 方法一样,不过如果 sub 不在 string 中会产生一个异常。
    isalnum()如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。
    isalpha()如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。
    isdecimal()如果字符串只包含十进制数字则返回 True,否则返回 False。
    isdigit()如果字符串只包含数字则返回 True,否则返回 False。
    islower()如果字符串中至少包含一个区分大小写的字符,并且这些字符都是小写,则返回 True,否则返回 False。
    isnumeric()如果字符串中只包含数字字符,则返回 True,否则返回 False。
    isspace()如果字符串中只包含空格,则返回 True,否则返回 False。
    istitle()如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回 True,否则返回 False。
    isupper()如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False。
    join(sub)以字符串作为分隔符,插入到 sub 中所有的字符之间。
    ljust(width)返回一个左对齐的字符串,并使用空格填充至长度为 width 的新字符串。
    lower()转换字符串中所有大写字符为小写。
    lstrip()去掉字符串左边的所有空格
    partition(sub)找到子字符串 sub,把字符串分成一个 3 元组 (pre_sub, sub, fol_sub),如果字符串中不包含 sub 则返回 ('原字符串', '', '')
    replace(old, new[, count])把字符串中的 old 子字符串替换成 new 子字符串,如果 count 指定,则替换不超过 count 次。
    rfind(sub[, start[, end]])类似于 find() 方法,不过是从右边开始查找。
    rindex(sub[, start[, end]])类似于 index() 方法,不过是从右边开始。
    rjust(width)返回一个右对齐的字符串,并使用空格填充至长度为 width 的新字符串。
    rpartition(sub)类似于 partition() 方法,不过是从右边开始查找。
    rstrip()删除字符串末尾的空格。
    split(sep=None, maxsplit=-1)不带参数默认是以空格为分隔符切片字符串,如果 maxsplit 参数有设置,则仅分隔 maxsplit 个子字符串,返回切片后的子字符串拼接的列表。
    splitlines(([keepends]))在输出结果里是否去掉换行符,默认为 False,不包含换行符;如果为 True,则保留换行符。。
    startswith(prefix[, start[, end]])检查字符串是否以 prefix 开头,是则返回 True,否则返回 False。start 和 end 参数可以指定范围检查,可选。
    strip([chars])删除字符串前边和后边所有的空格,chars 参数可以定制删除的字符,可选。
    swapcase()翻转字符串中的大小写。
    title()返回标题化(所有的单词都是以大写开始,其余字母均小写)的字符串。
    translate(table)根据 table 的规则(可以由 str.maketrans('a', 'b') 定制)转换字符串中的字符。
    upper()转换字符串中的所有小写字符为大写。
    zfill(width)

    返回长度为 width 的字符串,原字符串右对齐,前边用 0 填充。

    二、常用的字符串函数及运用

    1、检测字符串是否包含字符

    find():检测字符串是否包含特定字符,如果包含则返回开始的索引及具体的位置;否则返回-1

    # find()函数
    str = 'hello Python3'
    # 查找'Py'是否在字符串中
    print( str.find('Py') )
    #输出:6
    # 查找'word'是否在字符串中
    print( str.find('word') )
    #输出:-1

    index():检测字符串是否包含指定字符,如果包含则返回开始的索引值;否则提示ValueError: substring not found错误

    # index()函数
    str1 = 'hello Python3'
    #'wo'在字符串中
    print( str1.index('Py') )
    #输出结果:6
    #'word'不在字符串中,程序报错ValueError终止运行
    print( str1.index('word') )
    #输出结果: ValueError: substring not found

    2、count()统计出现的次数(跟数据库统计数量一样的)

    ## count()函数
    str2 = 'hello world'
    # 统计str2中全部字母l的个数
    print( str2.count('l') )
    #输出结果:3
    # 统计str2中从第5+1个字母到最后一个字母中,字母l的个数
    print( str2.count('l', 5, len(str2)) )
    #输出结果:1

    3、replace()替换字符值

    语法格式:str1.replace(str2, count)将str1中的str1替换成str2,如果指定count,则不超过count次;

    str3 = 'hello world hello world'
    str5 = 'world'
    str6 = 'waltsmith'
    # 将str3中所有的str5替换为str6
    print( str3.replace(str5, str6) )
    # 在str3中只将前1个str5替换为str6
    print( str3.replace(str5, str6, 1) )

    4、split()根据定界符分割所有能分割的

    基本语法格式:str.split('分界符', maxSplit)maxSplit默认值为-1

    #split()函数
    str7 = 'I Love Python!'
    # 以空格分割字符串,分界符默认为空格
    print(str7.split(' ', 3))
    # 以字母o作为分界符,指定最大分割为2,将返回最大分割+1个元素的列表
    print(str7.split('o', 1))
    #输出:
    #['I', 'Love', 'Python!']
    #['I L', 've Python!']

    5、字符串转化大小写

    capitalize()将字符串的首字母大写,其余字母全部小写;语法:str.capitalize()

    #capitalize()函数
    str8 = 'i Love Python!'
    # 字符串的首字母大写,其余字母全部小写
    print(str8.capitalize())
    ## 输出:I love python!

    title()将字符串中的所有单词的首字母大写,其余字母全部小写;语法:str.title()

    #title()函数
    str9 = "i love python"
    print(str9.title())
    #输出:I Love Python
    #字符中包含标点符号
    str10 = "I lOVE pYthon"
    print(str10.title())
    #输出:I Love Python

    lower()将字符串的所有字母转换为小写;语法:str.lower()

    #lower()函数
    str11 = "I LOVE PYTHON"
    print(str11.lower())
    #输出:i love python

    upper()将字符串的所有字母转换为大写;语法:str.upper()

    #upper()函数
    str12 = "i love python"
    print(str12.upper())
    #输出:I LOVE PYTHON

    startswith()检查字符串str是否 以字符串str1开头,若是则返回True;否则返回False;

    #startswith()函数
    str15 = "Hello Python"
    print(str15.startswith("Hello"))
    print(str15.startswith("My"))
    #分别输出:True Flase

    endswith()检查字符串str是否 以字符串str1结尾,若是则返回True;否则返回False;

    #endswith()函数
    str16 = "Hello Walt Smith"
    print(str16.endswith("Smith"))
    print(str16.endswith("Hello"))
    #分别输出:True Flase

    6、使用空格填充至指定长度

    ljust()将字符串左对齐,并使用空格填充至指定长度len;语法:str.ljust(len)

    #ljust()函数
    str17 = "Hello"
    print(str17.rjust(18))
    print("str17的原长度为%d"% (len(str17)))
    print("str17处理后的长度为%d" % (len(str17.ljust(20))))
    #输出结果:
    #----------Hello
    #str17的原长度为5
    #str17处理后的长度为20

    rjust()将字符串右对齐,并使用空格填充至指定长度len;语法:str.rjust(len)

    #rjust()函数
    str18 = "Hello"
    print(str18.rjust(18))
    print("str18的原长度为%d" % (len(str18)))
    print("str18处理后的长度为%d" % len(str18))
    #输出:
    # --------------Hello
    # str18的原长度为5
    # str18处理后的长度为18

    center()将字符串居中,并使用空格填充至指定长度len;语法:str.center(len)

    #center()函数
    str19 = "Hello"
    print(str19.center(20))
    print("st19的原长度为%d" % (len(str19)))
    print("str19处理后的长度为%d" % (len(str19.center(20))))
    #输出结果:
    #-------Hello-----   
    #st12的原长度为5
    #str12处理后的长度为20

    7、去掉字符串中空格值

    lstrip()去掉字符串左边的空白字符;语法:str.lstrip()​​​​​​​

    #lstrip()函数
    str20 = "   Hello Python"
    print(str20.lstrip())
    #输出:Hello Python

    rstrip()去掉字符串右边的空白字符;语法:str.rstrip()​​​​​​​

    #rstrip()函数
    str21 = "   Hello Walt Smith   "
    print(str21.rstrip())
    #输出: -----Hello Walt Smith

    strip()去掉字符串左右两边的空白字符;语法:str.strip()​​​​​​​

    #strip()函数
    str22 = "   Hello Python  "
    print(str22.strip())
    #输出:Hello Walt Smith

    8、partition()在str中若str1不存在,则将str作为第一部分,后面两个元素为空;返回元组;​​​​​​​

    #partition()函数
    str25 = "Are you believe in yourself?"
    # "yourself"在字符串中
    print(str25.partition("yourself"))
    # "you"在字符串中有两个
    print(str25.partition("you"))
    # "walt"不在字符串中
    print(str25.partition("walt"))
    #输出:
    #('Are you believe in ', 'yourself', '?')
    #('Are ', 'you', ' believe in yourself?')
    #('Are you believe in yourself?', '', '')

    9、join()将iterable中每两个相邻元素中间插入字符串str,返回形成的新的字符串;语法:str.join(iterable)​​​​​​​

    #join()函数
    str26 = "walt"
    print(str26.join("ABC"))
    iterable = ['YOU', 'THEY', 'WE']
    print(str26.join(iterable))
    ## 输出:
    ##     AwaltBwaltC
    ##     YOUwaltTHEYwaltWE

    10、判断字符串的类型是否是指定的

    isspace()如果字符串str中只包含空格,则返回True;否则返回False;语法:str.isspace()​​​​​​​

    #isspace()函数
    str27 = " t "
    print(str27.isspace())
    #输出: False

    isdigit()如果字符串str中只包含数字,则返回True;否则返回False;语法:str.isdigit()​​​​​​​

    #isdigit()函数
    str28 = "12356"
    print(str28.isdigit())
    #输出: True

    isalpha()如果字符串str中只包含字母,则返回True;否则返回False;

    #isalpha()函数
    str29 = "MrYu"
    print(str29.isalpha())
    #输出:True

     

    展开全文
  • C++常见的字符串处理函数

    千次阅读 多人点赞 2019-06-21 21:13:40
    C++常见的字符串处理函数 #include< string > 1. 应用于查找的find()函数

    C++常见的字符串处理函数

    #include< string >

    1. 应用于查找的find()函数

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
        string str;
        cin>>str;
        //主要字符串是从0开始计数的
        cout<<"ab在str中的位置:"<<str.find("ab")<<endl;
        //返回第一次出现ab的位置,没有则返回一串乱码
        cout<<"ab在str[2]到str[n-1]中的位置:"<<str.find("ab",2)<<endl;
        //返回第一次从str[2]开始出现ab的位置,没有则返回一串乱码
        cout<<"ab在str[0]到str[2]中的位置:"<<str.rfind("ab",2)<<endl;
        //返回ab在str[0]到str[2]中的位置,没有则返回一串乱码
        return 0;
    }
    
    

    输入1

    sdefdwefdadabbababab
    

    输出1

    ab在str中的位置:11
    ab在str[2]到str[n-1]中的位置:11
    ab在str[0]到str[2]中的位置:18446744073709551615
    Program ended with exit code: 0
    

    输入2

    abfeofihwabab
    

    输出2

    ab在str中的位置:0
    ab在str[2]到str[n-1]中的位置:9
    ab在str[0]到str[2]中的位置:0
    Program ended with exit code: 0
    

    输入3

    asdfghjk
    

    输出3

    ab在str中的位置:18446744073709551615
    ab在str[2]到str[n-1]中的位置:18446744073709551615
    ab在str[0]到str[2]中的位置:18446744073709551615
    Program ended with exit code: 0
    

    2. 子串substr()函数

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
        string str;
        cin>>str;
        cout<<"返回str[3]及其以后的子串:"<<str.substr(3)<<endl;
        //若小于限制长度则报错
        cout<<"从ste[2]开始由四个字符组成的子串:"<<str.substr(2,4)<<endl;
        //若小于限制长度则报错
        return 0;
    }
    
    

    输入1

    asdfghjkl;'/.,mnbvcxz
    

    输出1

    返回str[3]及其以后的子串:fghjkl;'/.,mnbvcxz
    从ste[2]开始由四个字符组成的子串:dfgh
    Program ended with exit code: 0
    

    3. 替换replace()函数

    示列1

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
        string line = "this@ is@ a test string!";
        line = line.replace(line.find("@"), 1, ""); //从第一个@位置替换第一个@为空
        cout<<line<<endl;
        return 0;
    }
    

    输出

    his is@ a test string!
    Program ended with exit code: 0
    

    示列2

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
        string line = "this@ is@ a test string!";
        line = line.replace(line.begin(), line.begin()+6, "");  //用str替换从begin位置开始的6个字符
        cout << line << endl;
        return 0;
    }
    
    

    示列3

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
        string line = "this@ is@ a test string!";
        char* str = "12345";
        line = line.replace(0, 5, str); //用str替换从指定位置0开始长度为5的字符串    
        cout << line << endl;
        return 0;
    }
    
    

    输出

    12345 is@ a test string!
    Program ended with exit code: 0
    

    4. 插入:insert()函数

    #include <string>
    #include <iostream>
    using namespace std;
    int main()
    {
        string str;
        cin>>str;
        cout<<"从2号位置插入字符串jkl并形成新的字符串返回:"<<str.insert(2, "jkl")<<endl;
        return 0;
    }
    
    

    输入

    sdfgh
    

    输出

    从2号位置插入字符串jkl并形成新的字符串返回:sdjklfgh
    Program ended with exit code: 0
    

    5. 添加字符串:append()函数

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
        string str;
        cin>>str;
        cout<<"在字符串str后面添加字符串ABC:"<<str.append("ABC")<<endl;
        return 0;
    }
    
    

    输入

    diguwhdcow
    

    输出

    在字符串str后面添加字符串ABC:diguwhdcowABC
    Program ended with exit code: 0
    

    6. 交换字符串:swap()函数

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
        string str1,str2;
        cin>>str1>>str2;
        cout<<"str1:"<<str1<<endl;
        cout<<"str2:"<<str2<<endl;
        swap(str1, str2);
        cout<<"str1:"<<str1<<endl;
        cout<<"str2:"<<str2<<endl;
    }
    
    

    输入

    qwertyui
    asdfghjk
    

    输出

    str1:qwertyui
    str2:asdfghjk
    str1:asdfghjk
    str2:qwertyui
    Program ended with exit code: 0
    

    8. 字符串比较函数:compare()

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
        string str1,str2;
        cin>>str1>>str2;
        cout<<str1.compare(str2)<<endl;
        return 0;
    }
    

    输入

    diwguc
    aschsdnv
    

    输出

    3
    Program ended with exit code: 0
    

    7. 字符串大小

    size()函数和length()函数

    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
        string str1;
        cin>>str1;
        cout<<str1.size()<<endl;
        cout<<str1.length()<<endl;
        return 0;
    }
    
    

    输入

    dchiascnsc
    

    输出

    10
    10
    Program ended with exit code: 0
    

    #include< string.h >

    strcpy(s1,s2)

    复制字符串s2到s1

    strcat(s1,s2)

    连接s2到s1的末尾

    strlen(s1)

    返回字符串s1的长度

    strcmp(s1,s2)

    若s1和s2是相同的,则返回0,s1< s2,返回值小于0,若s1>s2,返回值大于0

    strchr(s1,ch)

    返回一个指针,指向字符串s1中字符ch第一次出现的位置

    strstr(s1,s2)

    返回一个指针,指向字符串s1中字符串s2的第一次出现位置

    memcpy (void *dest, const void *src, int size)

    从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
    strcpy与memcpy的区别:
    1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。
    2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。
    3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy

    展开全文
  • C语言中常用的6个字符串处理函数

    千次阅读 多人点赞 2020-02-24 09:31:13
    功能:把源字符串数组中的字符串连接到目的字符串数组的字符串的后面,并删去目的字符串中原有的结束标志"\0" 下面通过实例来了解一下strcat函数的使用 # define _CRT_SECURE_NO_WARNINGS # include # ...
  • Python中必须掌握的常用字符串处理函数

    千次阅读 多人点赞 2017-12-08 21:35:34
    引言字符串作为一种常见的数据类型,在日常中我们面临各式各样的字符串处理问题,那么,这就要求我们必须掌握一些常用的字符串处理函数。本文尽量囊括常用的字符串处理函数,此文也作为个人的小总结。Python中常用的...
  • 本篇要分享的是关于iOS开发中,字符串简单处理的方法,此部分过于基础,仅作加强记忆、记录使用。 一、截取字符串 进行截取字符串的操作,需求不同截取的方式不同,这里只介绍下面的截取方式。 1、截取下标某一位...
  • mysql进行字符串处理

    千次阅读 2018-03-08 20:11:36
    mysql进行字符串处理 MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。 ...
  • Java字符串处理函数汇总

    千次阅读 多人点赞 2019-03-14 09:51:19
    public String concat(String str) //该方法的参数为一个String类对象,作用是将参数中的字符串str连接到原来字符串的后面. public int length() //返回字串的长度,这里的长度指的是字符串中Unicode字符的数目. ...
  • C++字符串处理总结(char、string)

    万次阅读 多人点赞 2018-09-09 14:59:33
    0. 写在最前面 希望大家收藏: ... 也欢迎收藏我的另一篇总结:编程常用数据结构与函数...C++字符串处理有最原始的char以及string两种方式,这里对两种方式常用的功能进行总结及对比。 如果觉得还不错就点个赞,...
  • C++ string类中的字符串处理函数

    千次阅读 2018-05-24 16:51:14
    string 类提供字符串处理函数,利用这些函数,程序员可以在字符串内查找字符,提取连续字符序列(称为子串),以及在字符串中删除和添加。其中比较常用的查找和搜索函数是find()函数、find_first_not_of()函数、find_...
  • AWK 字符串处理

    千次阅读 2018-08-25 11:28:02
    字符串处理的另外一个强大的工具是AWK, 与SED不同的是AWK更加擅长对字符串进行切分, 进行列处理。 语法 awk [ -F re] [parameter…] [‘prog’] [-f progfile] 参数说明: -F re:允许awk更改其字段分隔符,...
  • R语言字符串处理--stringr包

    万次阅读 多人点赞 2018-03-18 14:48:05
    本文转载自:https://www.cnblogs.com/nxld/p/6062950.html 1....字符串处理虽然不是R语言中最主要的功能,却也是必不可少的,数据清洗、可视化等的操作都会用到。对于R语言本身的base包提供的字符串基础函...
  • ARDUINO字符串处理

    千次阅读 2019-08-05 10:57:25
    arduino 截取 字符串 截取substring String stringOne = "Content-Type: text/html"; Serial.println(stringOne); // substring(index) looks for the substring from the index position to the end: if ...
  • MATLAB中的字符串处理

    万次阅读 多人点赞 2018-08-18 12:10:37
    字符串处理 在MATLAB中,字符串是用单引号括起来的字符序列 若字符串中的字符含有单引号,则该单引号字符要用两个单引号来表示 在MATLAB中,下标索引都是从1开始 案例: 建立一个字符串向量,然后对该向量做...
  • Golang中的字符串处理总结

    万次阅读 2018-06-17 16:02:42
    正好最近用到了一些字符串,就总结了一下Golang中的字符串处理函数,主要是Golang中的strings包: Count(s string, str string) int:计算字符串str在s中的非重叠个数。如果str为空串则返回s中的字符(非字节)个...
  • sql中的常用的字符串处理函数

    千次阅读 2018-09-06 01:39:30
    在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。 2、CHAR() 将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。 3...
  • VB字符串处理函数一览

    万次阅读 2017-10-10 11:49:20
    VB字符串处理函数一览 mid(字符串,从第几个开始,长度) ByRef 在[字符串]中[从第几个开始]取出[长度个字符串]  例如 mid("小欣无敌",1,3) 则返回 "小欣无"  instr(从第几个开始,字符串1,...
  • VB字符串处理大全

    万次阅读 2018-09-16 11:56:53
    2 VBA中处理字符串的函数  2.1 比较字符串  2.2 转换字符串  2.3 创建字符串  2.4 获取字符串的长度  2.5 格式化字符串  2.6 查找字符串  2.7 提取字符/字符串  2.8 删除空格  2.9 返回字符代码  2.10 ...
  • Rust中的字符串处理

    千次阅读 2019-10-02 21:30:32
    一路看过来,怕是我知道的所有语言当,处理最复杂吧。 当然,如果能正确处理,也是能理解最到位的。 这,就是我为什么要学Rust的原因。 暂无用武之地,但逻辑体系和知识点够复杂,才能应对更多事务~ fn main...
  • 常用的字符串处理方法

    千次阅读 2018-06-14 17:17:27
    字符串处理方法1、字符串合并操作:“ + ”var iNum01 = 12; var iNum02 = 24; var sNum03 = '12'; var sTr = 'abc'; alert(iNum01+iNum02); //弹出36 alert(iNum01+sNum03); //弹出1212 数字和字符串相加等同于字符...
  • Java中json字符串处理

    千次阅读 2019-02-08 13:44:09
    1.项目中经常需要对json字符串进行处理转化的功能,...比如json数组字符串需要调用JSONArray ,json字符串 使用JSONObject 对象,以下是json字符串处理的示例. package DealJson; import com.alibaba.fastjson.JSON; im...
  • dart字符串处理

    千次阅读 2019-03-20 21:20:00
    1.字符串创建(1)使用单引号,双引号创建字符串(2)使用三个引号或双引号创建多行字符串(3)使用r创建原始raw字符串(转义字符等特殊字符会输出出来,而不会自动被转义)(1)例如:String str1='Hello World';...
  • 几种常用的字符串处理函数

    万次阅读 多人点赞 2018-01-28 18:44:31
    1.puts函数(字符串输出函数) 一般形式:puts(字符数组) 作用:输出一个字符串(以‘\0’结束的字符序列)。 2.gets函数(字符串输入函数) 一般形式:gets(字符数组) 作用:从终端输入一个字符串到字符数组...
  • sed字符串处理用法

    千次阅读 2018-08-12 17:17:57
    在LINUX系统中, 经常要碰到关于字符串处理, 这里介绍两种非常强大的命令:AWK与SED, 正确的使用它们, 能够达到事半功倍的效果。 SED sed会一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,...
  • BAT脚本的字符串处理

    万次阅读 2018-05-12 15:10:35
    在CMD中,对字符串处理可以通过
  • Win32字符串处理函数

    千次阅读 2017-11-20 17:22:48
    返回给定字符串的长度(ANSI版本或Unicode版本),不包含null终结符 lstrcpy 复制字符串 lstrcpyn 复制指定数量字符串 lstrcmp 字符串比较,区分大小写。相等...
  • VBA字符串处理大全-from EH

    万次阅读 2017-06-22 09:54:45
    VBA字符串处理大全 转载出处 1 VBA中的字符串 2 VBA中处理字符串的函数  2.1 比较字符串  2.2 转换字符串  2.3 创建字符串  2.4 获取字符串的长度  2.5 格式化字符串  2.6 查找字符串  2.7 提取...
  • 2.toupper和tolower是c++的库函数,它们的作用是将字符串转换成大写或者小写,具体实现代码如下: int tolower(int c) { if ((c >= 'A') && (c )) return c + ('a' - 'A'); return c; } int toupper(int c) {...
  • 按键精灵手机助手之字符串处理

    千次阅读 2019-04-25 11:47:17
    获取字符串 查找字符串 合成字符串 转小写 转大写 获取字符串字数 取指定字符串 替换字符串 比较字符串 获取ANSI码 命令名称: Asc 获得ANSI码 命令功能: 返回与字符串的第一个字母对应的 ANSI ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,055,889
精华内容 822,355
关键字:

字符串处理