精华内容
下载资源
问答
  • 常见的字符串函数

    2018-05-01 01:11:52
    常见的字符串函数 str1.split():通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串,一般使用空格 str1.splitlines():按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为...

    常见的字符串函数

    • str1.split():通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串,一般使用空格
      str1.splitlines():按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
      str1.join(): 用于将序列中的元素以指定的字符连接生成一个新的字符串。
      max():返回给定参数的最大值,参数可以为序列
      min():返回字符串中最小的字母。
      str1.replace(old, new[, max]):把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
      str1.maketrans():返回字符串转换后生成的新字符串。
      str47.translate(table[, delete]):返回翻译后的字符串,若给出了 delete 参数,则将原来的bytes中的属于delete的字符删除,剩下的字符要按照table中给出的映射来进行映射 。
      str1.startswith(str, beg=0,end=len(string)):方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回
      False。如果参数 beg 和 end 指定值,则在指定范围内检查。
      str1.endswith(suffix[, start[, end]]):方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数”start”与”end”为检索字符串的开始与结束位置s
      str1.encode():指定的编码格式编码字符串
      bytes.decode():以指定的编码格式解码 bytes 对象。默认编码为 ‘utf-8’。
      str1.isalpha():方法检测字符串是否只由字母组成。
      str1.isalnum():检测字符串是否由字母和数字组成。
      str1.isupper():检测字符串中所有的字母是否都为大写。
      str1.islower():检测字符串是否由小写字母组成。
      str1.istitle():检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。
      str1.isdigit():检测字符串是否只由数字组成。
      str1.isnumeric():检测字符串是否只由数字组成。这种方法是只针对unicode对象
      str1.isdecimal():检查字符串是否只包含十进制字符。这种方法只存在于unicode对象
      str1.isspace():检测字符串是否只由空白字符组成
      len():返回对象(字符、列表、元组等)长度或项目个数。
      lower():转换字符串中所有大写字符为小写。
      upper():将字符串中的小写字母转为大写字母。
      swapcase():用于对字符串的大小写字母进行转换。
      capitalize():将字符串的第一个字母变成大写,其他字母变小写
      title():返回”标题化”的字符串,就是说所有单词都是以大写开始
      center(width[, fillchar]):返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
      ljust(width[, fillchar]):返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串。
      rjust(width[, fillchar]):回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。
      zfill(width):返回指定长度的字符串,原字符串右对齐,前面填充0。
      count():统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置
      find():方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。
      rfind():返回字符串最后一次出现的位置,如果没有匹配项则返回-1。
      index():方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。
      rindex(str, beg=0 end=len(string)):返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间。
      strip():用于移除字符串头尾指定的字符(默认为空格)
      lstrip():方法用于截掉字符串左边的空格或指定字符。
      rstrip():删除 string 字符串末尾的指定字符(默认为空格).
    展开全文
  • 在前面若干章节中,我们介绍了SQL的基础与高阶语法,接下来,我们将分四个章节,介绍MySQL中常见的函数应用,大致分为如下几个章节:MySQL 字符串函数MySQL 数字函数MySQL 日期函数MySQL 高级函数本文将主要介绍...

    0aa1d41ebfa15632283b383fba2246c2.png

    在前面若干章节中,我们介绍了SQL的基础与高阶语法,接下来,我们将分四个章节,介绍MySQL中常见的函数应用,大致分为如下几个章节:

    MySQL 字符串函数

    MySQL 数字函数

    MySQL 日期函数

    MySQL 高级函数

    本文将主要介绍MySQL 字符串函数。

    演示数据

    我们通过创建 Student_Information表,并向该表中插入以下数据。

    建表SQL语句如下:

    91e57e714ba70c7c788d52bfd5169cfd.png

    插入SQL语句如下:

    e62fcf4f80e5c68d4b94dec538c1052e.png

    表数据如下:

    fbbd32e0c4afcb9669ead8f433816b2d.png

    ASCII(s) 函数

    返回字符串 s 的第一个字符的 ASCII 码,示例如下:

    da2b56f62c9c448e638642a45108ea10.png

    如上,返回 sname字段第一个字母的 ASCII 码。

    CHAR_LENGTH(s) 函数

    返回字符串 s 的字符数量,示例如下:

    6f3acca1331ca2d44bdfae1318dd2b96.png

    如上,返回 sname字段的字符数量。

    CONCAT(s1, s2, ...sn) 函数

    将字符串 s1,s2...,sn 连接为一个字符串,示例如下:

    27ed17212d3b4c148ed1304a914f6858.png

    如上,我们将 sname, phone 字段合并为一个字符串。

    CONCAT_WS(sep, s1,s2...sn) 函数

    将 s1,s2...,sn 连接成字符串,并以sep字符作为分隔符,示例如下:

    875d0a4b7f04985ee00b0bbaab35efc0.png

    如上,我们将 sname, phone字段合并为一个字符串。并使用 '-' 作为分隔符。

    FIELD(s,s1,s2...) 函数

    返回第一个字符串 s 在字符串列表 (s1,s2...) 中的位置,示例如下:

    7604d3380376a9ab65938630fe215866.png

    如上,我们返回字符串 Deja在列表值'Devin', 'Anna','Deja' 中的位置为 3 。

    FIND_IN_SET(s1,s2) 函数

    解析逗号分隔的 s2 列表,返回在字符串 s2 中与 s1 匹配的字符串的位置,示例如下:

    6f57d2d4351b8942b25824e3448e3014.png

    如上,返回字符串 Devin在指定字符串 Devin,19825011315中的位置为 1 。

    LOCATE(s1, s)函数

    返回 s1 在字符串 s 的第一个出现的位置,示例如下:

    11d06df41249dd7b34e0b10a9ddef039.png

    如上,获取 tiao在字符串 toutiao中的第一次出现的位置为 4。

    FORMAT(n,d)函数

    将数字 n 进行格式化, 如 "#,###,###.##"。 将 n 四舍五入并保留到小数点后 d 位,示例如下:

    e2e1e0f80c25ff6534a488060521a35c.png

    如上,我们将17758521.1314格式化为 17,758,521.13 。

    INSERT(s1, x, len, s2) 函数

    字符串 s2 替换 s1 的第 x 位置开始,长度为 len 的字符串,示例如下:

    b5fd21fde5b15d64c1731d9feb80dc83.png

    如上,我们从字符串toutiao.com第1个位置开始的 7 个字符替换为 testops。

    LEFT(s, n) 函数

    返回字符串 s 的前 n 个字符,示例如下:

    73773065701c54e7b1415902ed00dd43.png

    如上,返回 phone 字段的前 3 个字符。

    RIGHT(s, n) 函数

    返回字符串 s 的后 n 个字符,示例如下:

    72b8dbd77248d0f0392772e455d5553d.png

    如上,返回 phone字段的后 4 个字符。

    MID(s, n, len) 函数

    从字符串 s 的第 n 位置截取长度为 len 的子字符串,示例如下:

    3d539a7ef52e687053f95407d9c373ae.png

    如上,从 phone字段的第 7 个位置开始截取长度为 4 个字符的字符串。

    LOWER(s) 函数

    将字符串 s 的所有字母变成小写字母,示例如下:

    211c282b6333c2a58fee332e52200e67.png

    如上,字符串 sname字段转换为纯小写。

    UPPER(s) 函数

    将字符串 s 转换为大写,示例如下:

    4fcb0f91c9e1f07674048ae4f27df411.png

    如上,将 sname字段转换为大写。

    LPAD(s1, len, s2) 函数

    在字符串 s1 的最左边开始填充字符串 s2,并使字符串长度达到 len,示例如下:

    5a7c38b51ece8cca10e2333346038ce1.png

    如上,将字符串 '-' 填充到 sname字段的最左边,并使字段长度满足 6 个字符:

    RPAD(s1, len, s2) 函数

    在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 len,示例如下:

    d23ce89da29528c2123e7cf2c0df2536.png

    如上,将字符串 '-' 填充到 sname字段的最右边,并使字段长度满足 6 个字符:

    LTRIM(s) 函数

    去掉字符串 s 左边的空格,示例如下:

    c62ad5963e5ed6e74a605edc53389e44.png

    如上,去掉字符串 ' toutiao.com' 左边的空格。

    RTRIM(s) 函数

    去掉字符串 s 右边的空格,示例如下:

    8db9ab2e9a5b11505c5b22ee0fa047e4.png

    如上,去掉字符串 'toutiao.com '的右边的空格。

    TRIM(s) 函数

    去掉字符串 s 左右两边的空格,示例如下:

    c8d9713d50e56cc2492f619ac3582492.png

    如上,去掉字符串 ' toutiao.com '的左右的空格:

    REPEAT(s, n) 函数

    将字符串 s 重复 n 次,示例如下:

    273b74b5e03b660cd92d16ce88f18fd9.png

    如上,将字符串'testops'重复 2 次。

    REPLACE(s, s1, s2) 函数

    使用字符串 s2 替代字符串 s 中的字符串 s1,示例如下:

    bc8caece3166597794a02de254be19bd.png

    如上,将字符串 toutiao.com 中的字符 toutiao替换为字符 testops。

    REVERSE(s) 函数

    将字符串 s 的顺序反过来,示例如下:

    e7650e84f11174e2ba4de354269bf57e.png

    如上,将字符串toutiao.com 的顺序反过来。

    STRCMP(s1, s2) 函数

    比较字符串 s1 和 s2,若 s1 与 s2 相等返回 0 ,若 s1 > s2 返回 1,若 s1

    1d35184739d3d94eaee37d57f80a5560.png

    如上 ,比如 "testops" 与 "testops",因相等则返回 0。

    展开全文
  • 长度不受限制的字符串函数1.字符串拷贝函数1.strcpy函数的注意事项1.strcpy函数的模拟实现2.字符串追加函数1.strcat函数的注意事项2.strcat函数的模拟实现3.字符串比较函数1.strcmp函数的注意事项2.strcmp函数的模拟...

    系列文章目录



    前言

    C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在 常量字符串中或者字符数组中.。字符串常量 适用于那些对它不做修改的字符串函数.


    一、字符串函数是什么

    字符串函数(String processing function)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数

    二、字符串函数包括哪些、如何模拟实现

    1.求字符串长度函数

    1.strlen函数的注意事项

    1.字符串已经 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前面出现的字符个数(不包含 ‘\0’ )。
    2.参数指向的字符串必须要以 ‘\0’ 结束。
    3.注意函数的返回值为size_t,是无符号的( 易错 )。

    2.strlen函数三种模拟实现的方法
    int my_strlen(const char* arr) //1.计数器方式
    {
      assert(arr);
    	int count = 0;
    	while (*arr != '\0')
    	{
    		count++;
    		*arr++;
    	}
    	return count;
    }
    int main()
    {
    	char arr[] = "abc";
    	int len = my_strlen(arr);
    	printf("%d\n", len);
    	return 0;
    }
    
    int my_strlen(const char* arr) //2.递归方式
    {
      assert(arr);
    	if (*arr != '\0')
    	{
    		return(1 + my_strlen(arr + 1));// arr+1意思是指针位置向后移一位
    	}
    	else
    	{
    		return 0;
    	}
    }
    int main()
    {
    	char arr[] = "abc";
    	int len = my_strlen(arr);
    	printf("%d\n", len);
    	return 0;
    }
    
    int my_strlen(const char* arr)  //3.指针减去指针是指针和指针中间的元素个数
    {
    	assert(arr);
    	const char* start = arr;
    	const char* end = arr;
    	while (*end != '\0')
    	{
    		end++;
    	}
    	return end - start;
    }
    int main()
    {
    	char arr[] = "abc";
    	int len = my_strlen(arr);
    	printf("%d\n", len);
    	return 0;
    }
    

    2.长度不受限制的字符串函数

    1.字符串拷贝函数
    1.strcpy函数的注意事项

    1.源字符串必须以 ‘\0’ 结束。
    2.会将源字符串中的 ‘\0’ 拷贝到目标空间。
    3.目标空间必须足够大,以确保能存放源字符串。
    4.目标空间必须可变。

    1.strcpy函数的模拟实现
    char* my_strcpy(char* arr1, const char* arr2)  //strcpy的模拟实现
    {
    	char* ret = arr1; //把起始地址存放到字符指针ret中
    	while (*arr1++ = *arr2++)
    	{
    		;
    	}
    	return ret; //返回的是起始地址
    }
    int main()
    {
    	char arr1[] = "*****************";
    	char arr2[] = "bit education";
    	my_strcpy(arr1, arr2);
    	printf("%s\n", arr1);
    	return 0;
    }
    
    2.字符串追加函数
    1.strcat函数的注意事项

    1.源字符串必须以 ‘\0’ 结束。
    2.目标空间必须有足够的大,能容纳下源字符串的内容。
    3.目标空间必须可修改。
    4.不能自己给自己追加。

    2.strcat函数的模拟实现
    #define _CRT_SECURE_NO_WARNINGS   1
    #include<stdio.h>
    #include<assert.h>
    char* my_strcat(char* arr1, const char* arr2)
    {
    	assert(arr1&&arr2);
    	char* ret = arr1;
    	while (*arr1)
    	{
    		arr1++;
    	}
    	while (*arr1++ = *arr2++)
    	{
    		;
    	}
    	return ret;
    }
    int main()
    {
    	char arr1[20] = "bit";
    	char arr2[] = " education";
    	my_strcat(arr1, arr2);
    	printf("%s\n", arr1);
    	return 0;
    }
    
    3.字符串比较函数
    1.strcmp函数的注意事项

    1.第一个字符串大于第二个字符串,则返回大于0的数字
    2.第一个字符串等于第二个字符串,则返回0
    3.第一个字符串小于第二个字符串,则返回小于0的数字

    2.strcmp函数的模拟实现
    int my_strcmp(const char* arr1, const char* arr2)  //1.一种模拟实现
    {
    	assert(arr1&&arr2);
    	while (*arr1 == *arr2)
    	{
    		arr1++;
    		arr2++;
    	}
    	if (*arr1 > *arr2)
    	{
    		return 1;
    	}
    	else if (*arr1 == *arr2)
    	{
    		return 0;
    	}
    	else
    	{
    		return -1;
    	}
    }
    
    int my_strcmp(const char* arr1, const char* arr2) //2.第二种模拟实现
    {
    	assert(arr1&&arr2);
    	while (*arr1 == *arr2)
    	{
    		if (*arr1 != '\0')
    		{
    			return 0;
    		}
    	}
    	return *arr1 - *arr2;
    }
    int main()
    {
    	char arr1[] = "bit";
    	char arr2[] = "education";
    	int ret = my_strcmp(arr1, arr2); //字符串比较函数
    	printf("%d\n", ret);
    	return 0;
    }
    

    3.长度受限制的字符串函数

    1.字符串比较函数
    1.strncmp函数的注意事项

    1比较到出现另个字符不一样或者一个字符串结束或者num个字符全部比较完。

    2.字符串追加函数
    1.strncat函数的注意事项

    1.追加num个字符从源字符串到目标空间。
    2.如果源字符串的长度小于num,追加完之后也会把\0追加过去,但如果字符不够不会补齐\0

    2.strncat函数的模拟实现
    char* my_strncat(char* arr1, const char* arr2, int count)
    {
    	assert(arr1&&arr2);
    	char* ret = arr1;
    	while (*arr1 != '\0')
    	{
    		arr1++;
    	}
    	while (count--)
    	{
    		if (!(*arr1++ = *arr2))
    		{
    			return ret;
    		}
    	}
    	*arr1 = '\0';
    	return ret;
    }
    int main()
    {
    	char arr1[30] = "bit ";
    	char arr2[] = "education";
    	my_strncat(arr1, arr2, 1);
    	printf("%s\n", arr1);
    	return 0;
    }
    
    3.字符串拷贝函数
    1.strncpy函数的注意事项

    1.拷贝num个字符从源字符串到目标空间。
    2.如果源字符串的长度小于num,则拷贝完源字符串之后,在目标的后边追加0,直到num个。

    2.strncpy函数的模拟实现
    char* my_strncpy(char* arr1, const char* arr2,int nums)
    {
    	assert(arr1&&arr2);
    	char* ret = arr1;
    	while (nums) //拷贝arr2的字符到arr1里面去,剩余\0没有拷贝
    	{
    		*arr1++ = *arr2++;
    		nums--;
    	}
    	while (nums) //拷贝\0过去
    	{
    		*arr1++ = '\0';
    	}
    	return ret;
    }
    int main()
    {
    	char arr1[20] = "***********";
    	char arr2[] = "bit education";
    	my_strncpy(arr1, arr2, 5);
    	printf("%s\n", arr1);
    	return 0;
    }
    

    4.字符串查找函数

    1.字符串查找函数
    1.strstr函数的注意事项

    1.返回一个指针中str2在str1第一次出现的位置。

    2.strstr函数的模拟实现
    #define _CRT_SECURE_NO_WARNINGS   1
    #include<stdio.h>
    #include<string.h>
    #include<assert.h>
    
    //int main() //strstr查找子字符串
    //{
    //	char arr1[] = "bit education";
    //	char arr2[] = "bit";
    //	char* ret = strstr(arr1, arr2); //在arr1中查找arr2第一次出现的位置
    //	if (ret != NULL)
    //	{
    //		printf("%s\n", ret);
    //	}
    //	else
    //	{
    //		printf("查找的字符串不存在!\n");
    //	}
    //	return 0;
    //}
    
    char* my_strstr(const char* arr1, const char* arr2)
    {
    	assert(arr1&&arr2);
    	const char* cp = arr1;
    	while (*cp)
    	{
            const char* p1 = cp;
            const char* p2 = arr2;
    		while ((*p1 != '\0') && (*p2 != '\0') && (*p1 == *p2))
    		{
    			p1++;
    			p2++;
    		}
    		if (*p2 == '\0')
    		{
    			return (char*)cp;
    		}
    		cp++;
    	}
    	return NULL;
    }
    int main()
    {
    	char arr1[] = "bit education a";
    	char arr2[] = "education";
    	char* ret = my_strstr(arr1, arr2);
    	if (ret != NULL)
    	{
    		printf("%s\n", ret);
    	}
    	else
    	{
    		printf("查找的字符串不存在!\n");
    	}
    	return 0;
    }
    

    如下图:
    在这里插入图片描述

    1.字符串分割函数

    在这里插入图片描述

    1.strtok函数的注意事项

    1.第一个参数指定一个字符串,它包含了0个或者多个由sep字符串中一个或者多个分隔符分割的标记。
    2.strtok函数找到str中的下一个标记,并将其用 \0 结尾,返回一个指向这个标记的指针。(注:strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改。)
    3.strtok函数的第一个参数不为 NULL ,函数将找到str中第一个标记,strtok函数将保存它在字符串中的位置。
    4.strtok函数的第一个参数为 NULL ,函数将在同一个字符串中被保存的位置开始,查找下一个标记。
    5.如果字符串中不存在更多的标记,则返回 NULL 指针。
    6.sep参数是个字符串,定义了用作分隔符的字符集合

    2.strtok函数的实现
    #define _CRT_SECURE_NO_WARNINGS   1
    #include<stdio.h>
    #include<string.h>
    int main() //strtok根据字符来分割字符串
    {
    	char arr1[] = "1978045947@qq.com";
    	char arr2[40] = { 0 };
    	char* pa = "@.";
    	strcpy(arr2, arr1);
    	//printf("%s\n", strtok(arr2, pa));
    	//printf("%s\n", strtok(NULL, pa));
    	//printf("%s\n", strtok(NULL, pa));
    	char* ret = NULL;
    	for (ret = strtok(arr2, pa); ret != NULL; ret =strtok(NULL, pa)) 
    	//1.第一次传非空指针,第二次传空指针 
    	//2.strtok函数的第一个参数不为 NULL ,函数将找到str中第一个标记,strtok函数将保存它在字符串中的位置。
    	//3.strtok函数的第一个参数为 NULL ,函数将在同一个字符串中被保存的位置开始,查找下一个标记。
    	{
    		printf("%s\n", ret);
    	}
    	return 0;
    }
    

    5.错误信息报告函数

    1.错误信息报告函数
    1.strerror函数的注意事项

    1.返回错误码,所对应的错误信息。

    2.strerror函数的实现
    #define _CRT_SECURE_NO_WARNINGS   1
    #include<stdio.h>
    #include<string.h>
    #include<errno.h>
    int main() //strerror错误报告函数,库函数发生错误
    {
    	FILE* pf = fopen("test.txt", "r");
    	if (pf == NULL)
    	{
    		printf("%s\n", strerror(errno));
    		perror(""); //相比strerror函数,perror封装了这些信息
    	}
    	return 0;
    }
    

    总结

    以上就是今天要讲的内容,本文仅仅简单介绍了常用字符串函数的使用,而C语言中提供了大量能使我们快速便捷地处理数据的函数和方法,我们务必掌握,另外,如果上述有任何问题,请懂哥指教,不过没关系,主要是自己能坚持,更希望有一起学习的同学可以帮我指正,但是如果可以请温柔一点跟我讲,爱与和平是永远的主题,爱各位了。
    在这里插入图片描述

    展开全文
  • 在前面若干章节中,我们介绍了SQL的基础与高阶语法,接下来,我们将分四个章节,介绍MySQL中常见的函数应用,大致分为如下几个章节:MySQL 字符串函数MySQL 数字函数MySQL 日期函数MySQL 高级函数本文将主要介绍...

    在前面若干章节中,我们介绍了SQL的基础与高阶语法,接下来,我们将分四个章节,介绍MySQL中常见的函数应用,大致分为如下几个章节:

    MySQL 字符串函数

    MySQL 数字函数

    MySQL 日期函数

    MySQL 高级函数

    本文将主要介绍MySQL 字符串函数。

    d5b0abb611e643ea725bb96ffb3e6084.png

    演示数据

    我们通过创建 Student_Information表,并向该表中插入以下数据。

    建表SQL语句如下:

    3a312a037355abec599f71f522f4ac95.png

    插入SQL语句如下:

    ba1a75d789f643fb66c7524009db4aa8.png

    表数据如下:

    975bd765a50fff610c54ab33f2201746.png

    ASCII(s) 函数

    返回字符串 s 的第一个字符的 ASCII 码,示例如下:

    21d272169c677fe6bfd8ed961579a7b7.png

    如上,返回 sname 字段第一个字母的 ASCII 码。

    CHAR_LENGTH(s) 函数

    返回字符串 s 的字符数量,示例如下:

    0ff23e2471e0dcc816c052f7efac41a4.png

    如上,返回 sname 字段的字符数量。

    CONCAT(s1, s2, ...sn) 函数

    将字符串 s1,s2...,sn 连接为一个字符串,示例如下:

    83daa93b856f51d77a64360e6bf2a924.png

    如上,我们将 sname, phone 字段合并为一个字符串。

    CONCAT_WS(sep, s1,s2...sn) 函数

    将 s1,s2...,sn 连接成字符串,并以sep字符作为分隔符,示例如下:

    1f16cc7cc9efa827671af3f2f78a40d4.png

    如上,我们将 sname, phone 字段合并为一个字符串。并使用 '-' 作为分隔符。

    FIELD(s,s1,s2...) 函数

    返回第一个字符串 s 在字符串列表 (s1,s2...) 中的位置,示例如下:

    90c845b0b2622b9f9472951e0c8c899d.png

    如上,我们返回字符串 Deja 在列表值 'Devin', 'Anna','Deja' 中的位置为 3 。

    FIND_IN_SET(s1,s2) 函数

    解析逗号分隔的 s2 列表,返回在字符串 s2 中与 s1 匹配的字符串的位置,示例如下:

    acaeb155d8c169a7d1af35c5a1a2ef8a.png

    如上,返回字符串 Devin 在指定字符串 Devin,19825011315 中的位置为 1 。

    LOCATE(s1, s)函数

    返回 s1 在字符串 s 的第一个出现的位置,示例如下:

    e88b8a2c3acb9d6a16b09897fb64a8b2.png

    如上,获取 tiao 在字符串 toutiao 中的第一次出现的位置为 4。

    FORMAT(n,d)函数

    将数字 n 进行格式化, 如 "#,###,###.##"。 将 n 四舍五入并保留到小数点后 d 位,示例如下:

    cd1ed45a7f0ec97ef355edb28142fb8d.png

    如上,我们将 17758521.1314 格式化为 17,758,521.13 。

    INSERT(s1, x, len, s2) 函数

    字符串 s2 替换 s1 的第 x 位置开始,长度为 len 的字符串,示例如下:

    86b2747b68480c8aa200595642ff0c28.png

    如上,我们从字符串 toutiao.com 第1个位置开始的 7 个字符替换为 testops。

    LEFT(s, n) 函数

    返回字符串 s 的前 n 个字符,示例如下:

    283abbb1d1095119f912535989b5716c.png

    如上,返回 phone 字段的前 3 个字符。

    RIGHT(s, n) 函数

    返回字符串 s 的后 n 个字符,示例如下:

    3719575a91fb62aa5d10a0312ebf3427.png

    如上,返回 phone 字段的后 4 个字符。

    MID(s, n, len) 函数

    从字符串 s 的第 n 位置截取长度为 len 的子字符串,示例如下:

    37bdc20300f17fa7142e783ae85b4696.png

    如上,从 phone 字段的第 7 个位置开始截取长度为 4 个字符的字符串。

    LOWER(s) 函数

    将字符串 s 的所有字母变成小写字母,示例如下:

    d71f5a1853afd8cd3a60e1208153380d.png

    如上,字符串 sname 字段转换为纯小写。

    UPPER(s) 函数

    将字符串 s 转换为大写,示例如下:

    818d54554fa1c1c0d79d64f8bce43838.png

    如上,将 sname 字段转换为大写。

    LPAD(s1, len, s2) 函数

    在字符串 s1 的最左边开始填充字符串 s2,并使字符串长度达到 len,示例如下:

    24cfff9c6843aadb0ac86ff2d105f73c.png

    如上,将字符串 '-' 填充到 sname 字段的最左边,并使字段长度满足 6 个字符:

    RPAD(s1, len, s2) 函数

    在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 len,示例如下:

    54a18eb4348a2f3dea278f9747017c94.png

    如上,将字符串 '-' 填充到 sname 字段的最右边,并使字段长度满足 6 个字符:

    LTRIM(s) 函数

    去掉字符串 s 左边的空格,示例如下:

    9a3e80067f8c726b99822365d2f2922e.png

    如上,去掉字符串 ' toutiao.com' 左边的空格。

    RTRIM(s) 函数

    去掉字符串 s 右边的空格,示例如下:

    c9556373bc8de67ab4b72f2a11dbf697.png

    如上,去掉字符串 'toutiao.com ' 的右边的空格。

    TRIM(s) 函数

    去掉字符串 s 左右两边的空格,示例如下:

    3dad2ced60e36b580550b13ab08b92a4.png

    如上,去掉字符串 ' toutiao.com ' 的左右的空格:

    REPEAT(s, n) 函数

    将字符串 s 重复 n 次,示例如下:

    21311a7825a072305e922270dfc3a3a9.png

    如上,将字符串 'testops' 重复 2 次。

    REPLACE(s, s1, s2) 函数

    使用字符串 s2 替代字符串 s 中的字符串 s1,示例如下:

    340fce979c8896c7ae97164a5f333ff9.png

    如上,将字符串 toutiao.com 中的字符 toutiao 替换为字符 testops。

    REVERSE(s) 函数

    将字符串 s 的顺序反过来,示例如下:

    9d5f58ea0b5a635781e8386d34219a4d.png

    如上,将字符串 toutiao.com 的顺序反过来。

    STRCMP(s1, s2) 函数

    【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

    展开全文
  • 长度不受限制的字符串函数strcpy、strcat、strcmp字符串拷贝 strcpy字符串追加拷贝 strcat字符串比较 strcmp3.长度受限制的字符串函数strncpy、strncat、strncmp字符串拷贝 strncpy字符串追加拷贝 strncat字符串比较...
  • Golang中常见字符串函数1、HasPrefix2、HasSuffix3、Contains4、Count5、Index6、Title7、ToLower8、ToUpper 1、HasPrefix 判断s是否有前缀字符串prefix。 func HasPrefix(s, prefix string) bool 代码演示: //...
  • PHP常见的字符串函数

    2020-08-12 14:53:09
    1、strlen(str)—返回字符串长度2、mbstrlen(str) — 返回字符串长度 2、mb_strlen(str)—返回字符串长度2、mbs​trlen(str) 可以返回中文字符长度; 3、strtolower(str)—字母转小写4、strtoupper(str) — 字母转...
  • 字符输入输出函数:getchar,putchar字符串输入输出函数:gets,puts计算字符串长度函数:strlen字符串连接函数:strcat、strncat字符串拷贝函数:strcpy、strncpy字符串比较函数:strcmp、strncmp字符串大小转换函数...
  • 四、常见的字符串函数<1>LENGTH(str): 求字符串长度(以字节为单位),返回字符串str的字节长度。 注:在GBK编码中,一个中文字符为2个字节。UTF-8编码中,一个中文字符为3个字节,一个英文字符为1个字节。 例:*...
  • 以下是MYSQL中常见的字符串函数: (1)CONCAT与CONCAT_W的区别是后者使用指定的分隔符进行连接。 举例: 把下表的year,month,day字段连接在一起 使用CONCAT连接: 使用CONCAT_WS进行连接: (2)FORMAT(X,D)...
  • C语言中常见的字符串函数 1、字符串长度 strlen 实现代码: unsigned int strlen(const char *string){ unsigned int i= 0; while (string[i] != '\0'){ i++; } return i; } 2、打印字符串 put string ...
  • C常用字符串函数
  • 在前面若干章节中,我们介绍了SQL的基础与高阶语法,接下来,我们将分四个章节,介绍MySQL中常见的函数应用,大致分为如下几个章节:MySQL 字符串函数MySQL 数字函数MySQL 日期函数MySQL 高级函数本文将主要介绍...
  •  该函数把s2指向的字符串复制到s1指向的位置,返回值是s1;char *strncpy(char * s1, const char * s2, size_t n); 该函数把s2指向的字符串复制到s1指向的位置,复制的字数不超过n个,返回值是s1;char * strcat...
  • //注意此时for只是找到目标字符串的最有一个元素位置 for (int j = 0; src[j] != '\0'; ++j, ++i) { des[i] = src[j]; } des[i] = '\0'; return des; } int main() { char des[]="henniubi"; ...
  • 1.字符串长度strlen函数 字符串的长度就是计算它包含的字符的个数。 库函数strlen的在MSDN中原型如下: size_t strlen( const char *string ); 头文件 如计算数组长度: #include size_t strlen(char const *string)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,175
精华内容 2,470
关键字:

常见的字符串函数