Excel、SQL、Python字符串操作全攻略
字符串数据类型
在学习编程软件或工具时,首先了解它包含的数据类型非常重要。数据类型包括数值类型(整数和浮点类型);句子类型;包括时间、日期类型等。
他们之中,字符串类型是一种常见且重要的数据类型,本文将介绍字符串数据类型及相关操作。
2.三个主要工具中的字符串数据2.1Excel中的字符串数据;在Excel中,通常可以直接输入字符串类型数据。
然而,对于身份证号、银行卡号等数值数据;安装时需要小心;否则,它将被处理为数值数据并以科学计数法表示。
输入文本格式的日期和时间数据时,输入方法如下:摘要:如何在Excel中输入字符串数据。
2.2SQL中的字符串数据SQL中的字符串数据类型包括char(n)、varchar(n)和text。
2.3Python中的字符串数据字符串类型数据是单引号,可以使用双引号或三引号来表达。
3.字符串函数3.1计算字符串长度3.1.1在Excel中计算字符串长度Excel有两个函数可用于计算字符串长度。
3.1.2在SQL中计算字符串长度SQL还有两个计算字符串长度的函数。
3.1.3在Python中计算字符串长度Python使用len函数返回字符串的长度。
使用3.2截取字符串的特定部分3.2.1在Excel中截取字符串的特定部分在Excel中截取字符串的特定部分有多种方法。
3.2.2在SQL中截取字符串的某些部分在SQL中,如果你想截取一个字符串,正确的可以使用Sub和其他函数。
3.2.3Python中截取字符串的一部分在Python中,字符串中的一个或多个元素可以根据编号规则分隔。
3.3将两个字符串拼接为一个字符串3.3.1Excel中将两个字符串拼接为一个字符串Excel有两种字符拼接功能。
3.3.2在SQL中连接两个字符串在SQL中,您可以使用CONCAT或CONCAT_WS函数连接两行。
3.3.3在Python中连接两个字符串连接两个字符串有两种方法。
3.4删除字符串中的空格3.4.1Excel中删除字符串中的空格;使用TRIM函数删除字符串中的空格。
3.4.2从SQL中的字符串中删除空格可以使用三个函数从SQL中的字符串中删除空格。
3.4.3在Python中删除空格Python具有三个可用于从字符串中删除空格的函数。
3.5字符串中添加空格3.6替换字符串的部分内容3.7大小写处理3.8沿指定行分割字符串3.9查找字符串中子字符串的位置3.10字符串的重复操作3.11其他操作4.字符串格式化(Python)4.1字符串编码格式简介4.2转义字符和默认字符串4.3字符串格式化
在Excel单元格中,如果要输入字符串001122,有哪几种方法?
1首先选中目标单元格,右键单击“设置单元格格式”,如图。
2在弹出的对话框中,点击“号码”选项卡下的“特殊”,如图。
3然后在对话框右侧界面中点击“邮政编码”,如图。
4然后在上面的目标单元格中输入数字,如图所示。
5最后按回车键,上面的数字会自动加0,改为邮政编码,如图。
excel字符串
选择列-右键-设置单元格格式-数字-自定义-在类型下键入“000”@-确认:单元格格式设置不够;向wangxf9209和瑞城老汉学习。
excel字符串设置
上一篇文章讲解了提取字符串开头数字的公式技术:
1这些数字是连续的
。2。
这些连续的数字位于字符串的末尾
3。
这些连续的数字在单个单元格中返回。
与上一篇文章中一样,对于下面研究的每个解决方案,我们必须在两种不同的情况下测试其相关性:
1。
除了末尾之外,字符串中没有任何数字,例如ABC456。
2.字符串中除了末尾之外的其他位置,无论是在开头还是在中间,都存在数字,例如123ABC456或ABC123DEF456。
MIN和FIND
公式1:
=0+MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&1/17)),LEN(A1))
如果单元格A1的内容是“ABC456”,则上面的公式1返回“456”。
解析过程如下:
=0+MID("ABC456",MIN(FIND({0,1,2,3,4,5,6,7,8,9},"ABC456"&1/17)),LEN("ABC456"))
在A1后添加1/17与在其后添加字符串“0123456789”效果相同。
主要是,您需要将A1与包含从0到9的所有数字的字符串连接起来,以防止MIN函数抛出错误。
因为如果A1不包含从0到9的所有数字,那么FIND函数的返回值中至少有一个是错误值,因为MIN函数不会忽略错误值,即“在一起”的结果。
该公式也将是一个错误值。
通过首先在A1中的字符串末尾添加适当的值(例如1/17、3^45、“0123456789”),您可以确保该字符串将至少包含0到9之间的每个数字(因此FIND函数(所有10个返回值都是无错误值),同时确保我们通过将字符串放在A1的末尾不会影响MIN函数的所需输出。
这样,上面的公式现在转换为:
=0+MID("ABC456",MIN(FIND({0,1,2,3,4,5,6,7,8,9},"ABC456"和0.0588235294117647)),LEN("ABC456"))
你可能不知道在某些公式结构中,MIN函数能够强制返回数组,而无需按Ctrl+Shift+Enter组合键,因此FIND函数将对传递给它的所有10个值进行操作。
不仅仅是第一个值,因此,上面的公式进行转换。
于:
=0+MID("ABC456",MIN({7,19,13,14,4,5,6,21,11,17}),LEN("ABC456"))
MIN函数返回数字4在字符串中的起始位置。
因此,上面的公式转换为:
=0+MID("ABC456",4,LEN("ABC456"))
请注意,MID函数(以及RIGHT和LEFT函数)具有一些有用的属性,当传递的参数num_chars的值大于要提取的实际字符串的长度时,不会发生错误。
也就是说,如果此参数的值导致全部或部分返回值超出字符串末尾,则这些函数仅返回从指定位置到字符串末尾的字符。
这里,num_chars参数的值被指定为LEN(A1),因为不存在子字符串的长度大于字符串本身的情况。
这样,上式就转换为:
=0+MID(“ABC456”,4,6)
结果为:
456
让我们看看如果单元格A1中的字符串包含其他数字(例如123ABC456),公式1是否有效。
此时,公式1转换为:
=0+MID("123ABC456",MIN(FIND({0,1,2,3,4,5,6,7,8,9},"123ABC4560.0588235294117647")),LEN(A1))
转换为:
=0+MID("123ABC456",MIN({10,1,2,3,7,8,9,24,14,20}),LEN(A1))
转换为:
=0+MID("123ABC456",1,LEN("123ABC456"))
转换为:
=0+MID(“123ABC456”,1,9)
由于字符串中其他数字的影响,传递给MID函数的找到的起始位置发生了变化,所以结果是:
#VALUE!
LOOKUP和RIGHT
公式2:
=-LOOKUP(0,-RIGHT(A1,ROW(INDIRECT("1:"&LEN(A1)))))
这个公式与上一篇文章《Excel从字符串中提取数字公式1-数字位于a的开头》类似string类似,只是使用RIGHT函数而不是LEFT函数
当然,如果单元格A1中的字符串类似于“JAN18”或“123E4”,则不会得到正确的结果。
返回详细原因请参见上一篇文章
RIGHT、MATCH和ISNUMBER
公式。
3:
=0+RIGHT(A1,MATCH(FALSE,ISNUMBER(0+MID(A1,1+LEN(A1))-ROW(间接(“1:”&LEN(A1))),1)),0)-1)
这是一个数组公式
如果单元格A1中的数据仍然是“ABC456”,则公式3。
可以转换为:
=0+RIGHT("ABC456",MATCH(FALSE,ISNUMBER(0+MID("ABC456",1+6-ROW(INDIRECT("1:"&6))),1)),0)-1)
转换为:
=0+RIGHT("ABC456",MATCH(FALSE,ISNUMBER)(0+MID("ABC456",1+6-{1;2;3;4;5;6},1)),0)-1)
转换为(注意,这里是如何将结果数组反转,从而从字符串末尾到可能的开头逐一获取字符):
=0+RIGHT("ABC456",MATCH(FALSE),ISNUMBER(0+MID("ABC456",{6;5;4;3;2;1},1)),0)-1)
转换为:
=0+RIGHT("ABC456",MATCH(FALSE,ISNUMBER(0+{6;5;4;C;B;A}),0)-1)
强制字符转换数字为数字由适当的数学运算(将数组添加0):
=0+RIGHT("ABC456",MATCH(FALSE,ISNUMBER({6;5;4;#VALUE!;#VALUE!;#VALUE!}),0)-1)
ISNUMBER函数忽略传递给其参数的错误值:
=0+RIGHT("ABC456",MATCH(FALSE,{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE},0)-1)
转换en:
=0+RIGHT("ABC456",4-1)
4表示字符串“”中的第一个非数字字符来自右侧。
left、负1出现的位置表示数字字符出现的位置:
=0+RIGHT("ABC456",3)
结果为:
456
接下来我们看看字符串末尾以外的数字是否会影响最终的结果。
例如,如果单元格A1中的数据为“123ABC456”,则公式3可以转换为:
=0+RIGHT("123ABC456",MATCH(FALSE,ISNUMBER(0+MID("123ABC456",1+LEN("123ABC456")-ROW(间接("1:"&LEN("123ABC456"))),1)),0)-1)
转换于:
=0+RIGHT("123ABC456",MATCH(FALSE,ISNUMBER(0+{"6";"5";"4";"C";"B";"A";"3";"2";"1"}),0)-1)
转换为:
=0+RIGHT("123ABC456",MATCH(FALSE,ISNUMBER(6;5;4;#VALUE!;#VALUE!;#VALUE!;3;2;1}),0)-1)
转换为:
=0+RIGHT("123ABC456",MATCH(FALSE,{TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE},0)-1)
转换为:
=0+RIGHT("ABC456",4-1)
4代表字符串“”中从右到左第一个非数字字符出现的位置,负1代表数字字符出现在:
=0+RIGHT("ABC456",3)
结果是:
456
如您所见,由于数字是从右到左获取的,字符串中其他位置的数字的存在不会影响结果。
RIGHT、MATCH和ISERR
公式4:
=0+RIGHT(A1,MATCH(1,0+ISERR(0+MID(A1,1+LEN(A1)-ROW(INDIRECT(“1:”&LEN(A1))),1)),0)-1)
这是一个数组公式。
假设单元格A1中的数据为“123ABC456”,则公式4可转换为:
=0+RIGHT(“123ABC456”,MATCH(1,0+ISERR(0)+{"6";"5";"4";"C";"B";"A";"3";"2";"1"}),0)-1)
转换为:
=0+RIGHT("123ABC456",MATCH(1,0+{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSESE},0)-1)
转换于:
=0+RIGHT("123ABC456",MATCH(1,{0;0;0;1;1;1;0;0;0},0)-1)
转换为:
=0+RIGHT("123ABC456",4-1)
转换为:
=0+RIGHT("123ABC456",3)
结果为:
456
与公式相同3、除了末尾的数字之外,字符串其他部分出现数字并不影响结果。
相关文章

深度解析:字符串比较与操作技巧
2025-01-27 03:35:17
Excel字符串合并技巧:使用&...
2024-12-14 18:35:36
Java字符串数字识别:正则表达式与遍历...
2024-12-21 05:37:14
C语言基础解析:类型转换与常见问题解答
2024-12-21 00:47:58
C语言提取数字每一位:平衡分裂法与SSC...
2025-02-17 00:56:26
深入解析C语言位运算:优先级、应用与实例
2025-03-16 14:23:12
批处理技巧:使用批文件筛选TXT文件特定...
2025-02-12 13:42:35
C语言数据类型内存占用解析及SEO优化标...
2025-03-10 10:33:22
C语言技巧:二维数组实现多组数据连续输入...
2024-12-29 10:13:23