Excel、SQL、Python字符串操作全攻略

创始人
2024-12-16 18:24:07
0 次浏览
0 评论

字符串数据类型

在学习编程软件或工具时,首先了解它包含的数据类型非常重要。
数据类型包括数值类型(整数和浮点类型);句子类型;包括时间、日期类型等。
他们之中,字符串类型是一种常见且重要的数据类型,本文将介绍字符串数据类型及相关操作。
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、除了末尾的数字之外,字符串其他部分出现数字并不影响结果。

热门文章
1
JavaScript数组转字符串:两种方... 如何 用 js把 数组 转换成 字符串这里的系列窗口为您提供了两种方式。1。使用...

2
C语言实现三角形面积计算:海伦公式应用实... 如何用c语言编写已知三角形三边求面积?已知语言C可以找到三角形三角侧的面积,如下...

3
计算机专业核心:C语言在多学科中的应用与... 哪些专业学c语言对于计算机专业来说,入门级编程语言C是用来为学生的编程打下坚实的...

4
JSF架构解析与Java学习资源分享:J... JavaServerFacesJSF体系结构JavaServerFaces(JS...

5
数据结构C语言版深度解析与C语言入门很简... 《数据结构(C语言版)》.严蔚敏吴伟民著.pdf在《数据结构(C语言版)》一书中...

6
C语言字符串常量解析:区别、用途及存储方... 什么是字符串常量字符串常量是C语言中的一种数据类型,它是由一对双引号括起来的字符...

7
C语言printf函数:格式字符串与输出... printf函数中的格式与输出项有什么关系?在C语言中,printf函数中的格式...

8
Excel技巧:计算字符串起始位置与合并... 如何计算字符串在特定文本中的起始位置,怎么计算字符串在特定文本中的起始位置您可以...

9
Python发音全解:掌握正确的发音方法... python怎么读我的很多学习编程的朋友可能都知道Python这个词,但是他们中...

10
字符与字符串:编程中的基础文本类型解析 字符串什么意思字符串是由数字、字母和下划线组成的字符串,表示为s=“a1a2…a...