字符串

考拉有n个字符串字符串,任意两个字符串长度都是不同的。 题目:考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1. 根据字符串的字典序排序。例如: "car" < "carriage" < "cats" < "doggies < "koala" 2.根据字符串的长度排序。例如: "car" < "cats" < "koala" < "doggies" <... 阅读详情

字符串

字符串我们已经并不陌生了,上次我们学习的:

print('你好,python研发部!')

在这行代码里,'你好,python研发部!'就是一个字符串 

字符串的本质是:字符序列。将字符(字母,汉字,数字,符号等)像羊肉串一样串在一起,就是字符串。

字符串的创建方式

我们一般通过引号创建字符串,使用print可以将字符串引号里的内容输出,引号是不输出的

那如果我们想输出带有引号的字符串怎么办呢?

当字符串本身带有双引号时,我们可以使用单引号创建

当字符串本身带有单引号时,我们可以使用双引号创建

实操:输出带有引号的字符串

a = "I love 'Python'!"    
print(a)                #I love 'Python'!
b = 'I love "Python"!' 
print(b)                #I love "Python"!

len()函数和空字符串

len()用于计算字符串含有多少字符。例如:

a = 'len()函数'
print(len(d))       #结果:7

python允许空字符串存在,即长度为0的字符串 

实操:输出空字符串的长度:

a = ''
print(len(a))     #输出:0

转义字符

我们可以使用\+特殊字符,实现某些难以用字符表示的效果。比如:换行等。

常见的转义字符有这些:

转义字符描述
\ (在行尾时)续行符
\反斜杠符号
\'单引号
\"双引号
\b退格(Backspace)
\n换行
\t横向制表符
\r回车
\\\

实操:使用换行符\n

a = 'I\nlove\nU'
print(a)

输出:
I
love
U

字符串拼接


可以使用+将多个字符串拼接起来。例如:'aa'+ 'bb' 结果是'aabb'

a = 'aa'+'bb'

print(a)  #输出:aabb

如果+两边都是字符串,则拼接。
如果+两边都是数字,则加法运算
如果+两边类型不同,则抛出异常,即出错

可以将多个字符串直接放到一起实现拼接。例如:'aa' 'bb'结果是'aabb'

                                                                               "aa""bb"结果是"aabb"

print('aa''bb')   #输出 'aabb'

print("aa""bb")   #输出 "aabb"

字符串复制

使用 * 可以实现字符串复制

实操:输出3次'python研发部'

a = 'python研发部'*3
print(a)              #输出'python研发部python研发部python研发部'

不换行打印

首先,我们允许下列代码:

print('你好,月木天上!')
print('你好,python研发部!')

允许后,我们会发现当输出'你好,python研发部!'时,它为什么会在第二行,

而不是在第一行屁股后面呢?

原因是当我们第一次调用print时,会自动打印一个换行符,导致第二次打印被迫换行了

可以通过参数end = “任意字符串”。将换行符删掉。

实操1:不换行打印:

print("你好,python",end="")
print("研发部")              #输出:你好,python研发部

实操2:不换行替换字符打印: 

print("你好,月木天上!",end='————')
print("python研发部!")            #输出:你好,月木天上!————python研发部!

从控制台读取字符串 input()

我们可以使用input()从控制台读取键盘输入的内容。

我们创建一个a,然后令a=input(),每次运行input时,我们都可以从控制台重新给他一个变量

实操:输出名字:

a = input('请输入名字:')
print('您的名字是:' + a)

#输出结果:
请输入名字: 张三 
您的名字是: 张三

实现字符串替换 replace()

字符串是不可改变的。但是,我们确实有时候需要替换某些字符。

这时,我们可以通过replace()来实现。

它会先创建一个新的字符串,然后再把你想替换的内容替换掉,并不会修改原有字符串。

a = '你好,月木天上!'
b = a.replace('月木天上','python研究部')

print(a)                   #输出:你好,月木天上!      
                           #此时输出的字符串不是最初的字符串,而是一个全新的字符串

print(b)                   #输出:你好,python研究部!

在b = a.replace('月木天上','python研究部')中 ,a代表你要替换的字符串

第一个引号里是原来字符串内的内容,第二个引号里是你想要替换的内容

实现数字转字符串 str()

使用 str() 将非字符串的对象可以转成字符串。

比如 a = 5,那么这个时候a的值为5,但如果 a = str(5),那么a就会变成  '5'

a = str(5.20)    #结果是:a = '5.20'
b = str(3.14e2)  #结果是:b = '314.0'
c = str(True)    #结果是:c = 'True'

提取字符 []

我们可以通过在字符串后面添加[],在[]里面指定偏移量,可以提取该位置的单个字符。

我们可以为字符串编一个序号,比如 a = 'abcd'

从前往后为正向搜索:a的序号为0,或者说是偏移量为0,b的偏移量为1,c为2,依次类推

从后往前为反向搜索,d为-1,c为-2,以此类推

注意:最前面的第一个字符,偏移量为 0 而不是 1

           最后面的第一个字符,偏移量为-1

我们可以通过他们的偏移量,将其提取出来

实操:正向搜索与反向搜索

a="abcd"

print(a[ 0])  #输出:a
print(a[-1])  #输出:d

切片slice操作 [start:end:step]

我们可以通过切片操作,提取字符串的一部分,而不是单个字符

那么start,end,step又分别代表什么呢?

start(起始偏移量):代表开始,比如设置start为0,那么就是从偏移量为0的字符开始提取  

end(终止偏移量) :代表结束,比如设置end为2,那么提取到偏移量为2的前一个字符停止提取,

不会提取偏移量为2的字符

step(步长)    :代表步长:

设置为1,则提取第一个字符,第二个字符,第三个字符,依次类推 

设置为2,则提取第一个字符,第三个字符,第五个字符,依次类推

设置为3,则提取第一个字符,第四个字符,第七个字符,依此类推

我们可以发现,步长就是下一个字符的偏移量减去上一个字符的偏移量的值

如果设置为-1,那么会逆向提取,比如字符串为'1234',那么提取的结果为'4321' 

我们还可以不设置终止偏移量与步长,甚至起始偏移量。可以通过以下实例来理解:

[0]             提取偏移量为0的字符

[0:5]          提取偏移量从0到4的所有字符

[0:5:2]       提取偏移量为从0到4的第一个字符,第三个字符,第五个字符

[::-1]          逆向提取所有字符

重点:如果想逆向提取偏移量从2到4的所有字符该怎么办呢

有些聪明的同学肯定会觉得那不是很简单吗,照猫画虎,[2:5:-1]不就可以了吗

但实际这种语法是错误的

我们应该先使用[2:5]提取字符,再使用[::-1]进行逆向提取,也就是说,正确答案是[2:5][::-1]

实操1:感受步长

同学们可以把字符串设置长一些,步长调大一些,感受步长 

a = "abcdefg"

print(a[0:5:2])       #输出:ace

实操2:逆向提取偏移量从2到4的所有字符

a = "abcdefg"

print(a[2:5][::-1])       #输出:edc

分割 split() 和 合并join()

split() 可以基于指定分隔符将字符串分隔成多个子字符串存储到列表(列表以后再学)中。

如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)为分隔符。

实操:分割字符串

a="I Love Python"
b=a.split()
print(b)  #输出:['I', 'Love', 'Python']

join() 的作用和 split() 作用刚好相反,用于将列表里的一系列子字符串连接起来。

我们还可以在引号里设置连接字符,它就好像胶水一样,将子字符串粘到一起

实操:合并字符串

a=['I', 'Love', 'Python']

b='*'.join(a)

print(b)            #输出:I*Love*Python

推荐使用join函数,效率较快

因为join函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。

不推荐使用+,因为使用+,会生成新的字符串对象,效率较慢

字符串驻留机制和字符串比较

字符串驻留:常量字符串只保留一份。什么意思呢?

如果 苹果 = '橘子' ,香蕉 = '橘子' ,那么苹果与香蕉相等吗?

这个时候同学们的意见可能不一了,苹果与香蕉是两个东西,苹果怎么可能是香蕉呢?

但在python中,我们需要换一个方式去思考,如图:

也就是说,在电脑的内存中,只有一个橘子,苹果与香蕉只是橘子的外号

无论它叫苹果还是香蕉或者叫西瓜,它们的指针都共同指向了橘子

也可以说他们的本质都是橘子,而且还是同一个橘子也就是说,苹果与香蕉相等

字符串的比较和同一性

我们可以直接使用   ==  , != 对字符串进行比较,是否含有相同的字符。  

我们使用 is ,is not,判断两个对象是否同一个对象。比较的是对象的地址,即id是否相等。

学会了 is 与 is not,我们就可以判断刚才的苹果是不是等于香蕉了

实操:苹果等于香蕉

苹果 = '橘子'
香蕉 = '橘子'
print(苹果 is 香蕉)       #True
print(苹果 is not 香蕉)   #False

成员操作符 判断子字符串

in ,not in 关键字,判断某个字符(子字符串)是否存在于母字符串中。

c = "Python#"
d = "Py"

print(d in c)       #True
print(d not in c)   #False

字符串常用方法汇总

1.常用查找方法

我们以一段文本作为测试:

a='''我是张三,我在月木天上上班。我是一个编程的爱好者,现在我正在python研发部进行学习,
部长告诉我,认真学习全套课程可以月入30000,我信了,所有我正在全力学习!'''
方法和使用示例说明结果
len(a)字符串长度80
a.startswith('我是张三')是否以字符串‘我是张三’开头True
a.endswith('学习!')是否以字符串'学习!'结尾True
a.find('学习')第一次出现'学习'的位置41
a.rfind('学习')最后一次出现‘学习’的位置80
a.count('学习')字符串'学习'出现了几次3
a.isalnum()所有字符是否全是字母或数字False

实操:将上述所有方法使用一次

a='''我是张三,我在月木天上上班。我是一个编程的爱好者,现在我正在python研发部进行学习,
部长告诉我,认真学习全套课程可以月入30000,我信了,所有我正在全力学习!'''

print(len(a))                 #输出:80

2.去除首尾信息strip()

我们可以通过strip()去除字符串首尾指定信息。

lstrip()去除字符串左边指定信息。

rstrip()去除字符串右边指定信息。

实操:分别去除首尾,左边,右边指定信息

a="abbbba"
print(a.strip("a"))    #输出bbbb
#相当于print("abbbbbba".strip("a"))
print(a.lstrip("a"))   #输出bbbba
print(a.rstrip("a"))   #输出abbbb

3.大小写转换

a = "i love Python"
示例说明结果
a.capitalize()产生新的字符串,首字母大写I love Python
a.title()产生新的字符串,每个单词的首字母都大写I Love Python
a.upper()产生新的字符串,所有字符全转成大写I LOVE PYTHON
a.lower()产生新的字符串,所有字符全转成小写

i love python

a.swapcase()产生新的字符串,所有字母大小写转换I LOVE pYTHON

实操:将上述所有方法使用一次

我就不演示了,哎嘿

4.格式排版

格式排版就相当于是word文档里的 居中对齐center(n),左侧对齐ljust(n),右侧对齐rjust(n)

n代表总字数,n为8代表总字数为8,比如:

'月木天上'.center(8)代表将月木天上居中对齐,总共占用8个字符,即  月木天上  。

注意:左侧与右侧共有四个空白字符

'月木天上'.center(8,'*')代表将月木天上居中对齐,并且使用'*'替换空白字符,即**月木天上**

实操:分别使用居中对齐,左侧对齐,右侧对齐

a = '月木天上'

print(a.center(8))               #输出:  月木天上  
print(a.center(8,"*"))           #输出:**月木天上**
print(a.ljust(8,"*"))            #输出:月木天上****
print(a.rjust(8,"*"))            #输出:****月木天上

5.特征判断方法

isalnum()是否为字母(包含汉字)或数字组成
isalpha()是否由字母(包含汉字)组成
isdigit()是否只由数字组成
isspace()是否为空白符
isupper()是否为大写字母
islower() 是否为小写字母

实操:检查字符串是否只由字母(包含汉字)或数字组成

a="我爱python666"

print(a.isalnum())              #True

字符串的格式化format()

我们可以往字符串里使用{} 和:,从而达到格式化的目的,为什么要格式化呢?

比如我们想输出一句话:                       a = '我叫张三,我18岁,我张三变成了帅哥。'

那么如果李四想变成帅哥,        就需要 b ='我叫李四,我20岁,我李四变成了帅哥。'

那么如果王五也想变成帅哥,     就需要 c = '我叫王五,我21岁,我王五变成了帅哥。'

如果再来几个人怎么办,每个人都需要打一句话这也太麻烦了吧!!

有没有办法只用一个 a 就能完成所有人都变为帅哥的办法呢? 有,那就是format()。

首先我们先用{}替换掉人名与年龄,因为每个人的名字与年龄都不一样,

帅哥就不用变了,因为他们都想变成帅哥,我们把名字变为为{0},年龄变为{1}

那么就变成了 a = '我叫{0},我{1}岁,我{0}变成了帅哥。'

然后在它的后面加上 .format('张三',18),也就是a.format('张三',18)

我们可以把张三与18换成任何想变成帅哥的人与年龄

format() 函数可以接受不限个数的参数,位置可以不按顺序。

实操:让所有人变成帅哥

a = '我叫{0},我{1}岁,我{0}变成了帅哥。'

print(a.format("张三", 18))                        
#输出:我叫张三,我18岁,我张三变成了帅哥。

print('我叫{0},我{1}岁,我{0}变成了帅哥。'.format("张三", 18))
#这么写更常用,输出结果与上面相同

有些同学说,既然替换的是名字与年龄

那么不想用没有代表性的{0},{1},那么我想用更直观的方式比如{name},{age},这样完全是可以的

我们可以使用以0为开头的数字,也可以使用字符串 ,但由于变成了字符串,语法也会发生变化

需要在format()里面加上 = 号

实操:让所有人变成帅哥

b = '我叫{name},我{age}岁,我{name}变成了帅哥。'

print(b.format(name='张三',age=18))                            
#输出:我叫张三,我18岁,我张三变成了帅哥。

print('我叫{name},我{age}岁,我{name}变成了帅哥。'.format(name='张三',age=18))     
#这么写更常用,输出结果与上面相同,

1.在format中使用填充与对齐

填充常跟对齐一起使用,^、<、>分别是居中、左对齐、右对齐,后面要带上宽度与前面讲的格式排版类似

刚才我们学到,a = '我叫{0},我{1}岁,我{0}变成了帅哥。'

那么如何使用填充与对齐呢,我们只需要在{0}或者{1},加上:号并在后面带上填充的字符,

只能是一个字符,不指定的话默认用空格填充

例如{0:*^4},意思是居中对齐,宽度为4,并使用*代替空白符填充

实操:让名字也变帅气

a = '我叫{0:*^4},我{1}岁,我{0:*^4}变成了帅哥。'

print(a.format("张三","18"))
#输出:我叫*张三*,我18岁,我*张三*变成了帅哥。

print('我叫{0:*^4},我{1}岁,我{0:*^4}变成了帅哥。'.format("张三","18"))
#输出:我叫*张三*,我18岁,我*张三*变成了帅哥。

2.在format中使用数字格式化

浮点数通过 f,整数通过 d进行需要的格式化。

我们通过数字格式化可以做到,保留几位小数,或者将小数变为整数,百分数等很多功能。

注意:记得不要忘记位置参数,比如保留{0}的2位小数,那么应该写{0:.2f},而不是{:.2f}

数字格式输出描述
3.1415926{:.2f}3.14保留小数点后两位
3.1415926{:+.2f}+3.14带符号保留小数点后两位
2.71828{:.0f}3四舍五入
5{:0>2d}05数字补零 (填充左边, 宽度为2)
5{:x<4d}5xxx数字补x (填充右边, 宽度为4)
10{:x<4d}10xx数字补x (填充右边, 宽度为4)
1000000{:,}1,000,000以逗号分隔的数字格式
0.25{:.2%}25.00%百分比格式
1000000000{:.2e}1.00E+09指数记法
13{:10d}13右对齐 (默认, 宽度为10)
13{:<10d}13左对齐 (宽度为10)
13{:^10d}13中间对齐 (宽度为10)

实操: 测试表格内标红方法

a = "我是{0},我的存款有{1:.2f}"
b=a.format("张三",3000.6666)
print(b)                        #我是张三,我的存款有3000.67

可变字符串 io

Python中,字符串属于不可变对象,不支持原地修改,

如果需要修改其中的值,只能创建新的字符串l

这个时候我们就可以使用io.StringIO对象,创建新的字符串对象,然后进行修改。

下面是建立io对象的演示:

import io            #导入io模块
a = "hello, 张三"
b = io.StringIO(a)   #建立一个可变字符串b

print(b)             #输出<_io.StringIO object at 0x00000254EB2905E0>

这个时候我们发现,新的字符串对象无法被直接打印,

我们需要新的语法才可以打印:

print(b.getvalue())   #输出:hello, 张三

 同时我们可以进行修改:

b.seek(7)              #指针知道索引7这个位置
b.write("李四")        #从索引7开始修改字符串
print(b.getvalue())    #输出hello, 李四

实操:把张三变成李四 

import io              #导入io模块

a = "hello, 张三"
b = io.StringIO(a)     #建立一个可变字符串b,他的内容也是"hello, 张三"

b.seek(7)              #将指针指到索引7这个位置
b.write("李四")         #从索引7开始修改字符串
print(b.getvalue())    #输出:hello, 李四

类型转换总结

这是对本章类型转换内容的总结,大家只需要看一眼,

要求以后用到的时候能回来找就就可以,不用操作,继续下一章的学习吧!

类型转换
int(x [,base])将x转换为一个整数
long(x [,base] )将x转换为一个长整数
float(x)将x转换到一个浮点数
complex(real[,imag])创建一个复数
str(x)将对象 x 转换为字符串
repr(x)将对象 x 转换为表达式字符串
eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
Complex(A)将参数转换为复数型
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
set(s)转换为可变集合
dict(d)创建一个字典。d 必须是一个序列 (key,value)元组
frozenset(s)转换为不可变集合
chr(x)将一个整数转换为一个字符
unichr(x)将一个整数转换为Unicode字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串
【字符串算法】——KMP算法、压缩字符串、字符串镜像、翻转字符串 场景一:输入字符串s和字符串subs,输出串subs在串s中匹配成功时的位置。 思路:设s长度为n,subs长度为m,如果暴力遍历,则时间复杂度为n(m*n);如果使用KMP算法,则时间复杂度为n(m+n)。 推荐一篇文章:KMP算法的next[]数组通俗解释 这篇文章是我学习kmp算法中感觉最通俗易懂的文章。 代码实现(java): /** * Next数组表示:当与匹配串匹配到位 阅读详情

相关推荐

iOS开发:字符串处理:截取字符串、匹配字符串、分割字符串

分享一个比较基础的知识点,记录一下,以备以后使用的时候查找方便,现在岁数大了,脑子不好使了,记忆力减退,年轻人可以忽略此博客。本篇要分享的是关于iOS开发中,字符串简单处理的方法,此部分过于基础,仅作加强记忆、记录使用。 一、截取字符串 进行截取字符串的操作,需求不同截取的方式不同,这里只介绍下面的截取方式。 1、截取下标某一位之前的字符串 NSString *string = @"123...

全沾软贱开发攻城狮 1万+

CString字符串比较、字符串长度、字符串拷贝、字符串拼接

目录字符串比较字符串长度字符串拷贝字符串拼接 字符串比较 比较两个字符串指针:如果两个字符串相等,返回0 strcmp(区分大小写) //多字节 stricmp(不区分大小写) //多字节 wcscmp(区分大小写) //宽字节 wcsicmp(不区分大小写) //宽字节 _tcscmp();(区分大小写) //多字节宽字节皆可 _tcsicmp();(不区分大小写) //多...

滴水穿石的博客 1万+

XC7Z010-1CLG400C开发板ADC引脚配置全攻略(附完整引脚列表)

本文详细解析了XC7Z010-1CLG400C开发板的ADC引脚配置方法,涵盖XADC模块基础、CLG400封装的引脚布局、硬件设计规范及Vivado工程配置实战。特别提供了完整的引脚列表和性能优化技巧,帮助开发者高效实现模拟信号采集,适用于Zynq-7000系列开发。

weixin_29188043的博客 466

字符串和字符串函数

字符串和字符串函数笔记

Simona_gy的博客 1836

基于SolidWorks宏的草图点坐标自动化提取与Excel集成

本文详细介绍了如何利用SolidWorks宏编程实现草图点坐标的自动化提取并与Excel集成,显著提升机械设计效率。通过VBA代码解析与优化,解决了人工记录坐标耗时易错的问题,并扩展了多草图批量处理、数据可视化等高级功能,适用于数控加工、质量检测等场景。

weixin_29251131的博客 461

1. 字符串 字符串数组

1. 字符串 #include <stdio.h> #define MSG "I am a symbolic string constant." #define MAXLEN 81 int main(int argc, char const *argv[]) { char words[MAXLEN] = "I am a string in an array."; char *ptr1 = "Something is pointing at me."; puts("Here are s

weixin_44637703的博客 4425

abaqus 6.13安装(ubuntu 16.04LTS)

1。从iso将文件拷贝出来 2。chmod 777 -R ./* 给文件权限 3。sudo /home/xx/A/setup 4。安装licenseserver 5。拷贝lic,log文件 6。打开license sudo ./lmgrd -c path 7. 27011@xx or 27011@localhost ...

a1099313374的博客 1950

字符串与字符串变量

C语言本身并没有专门为字符串设计独立的数据类型,而是巧妙地借助字符数组来实现字符串的功能。是一个字符指针,它可以指向一个字符数组的首地址,也可以指向一个字符串常量的首地址。字符串变量本质上就是字符数组,不同之处在于字符串值可以在程序运行期间进行修改。当把字符串常量赋值给字符串时,实际上是把字符串常量的首地址赋给了变量。字符数组本质上是数组的一种特殊形式,其数组元素的数据类型为字符。因为字符串常量存储在只读内存区域,使用指针可以直接指向该区域。的时候,C语言才会认为字符串结束,进而停止对字符的处理。

📖在读学生📖 1716

基于PWM的汽车仪表步进电机微步驱动优化实践

本文深入探讨了基于PWM的微步驱动技术,用于优化汽车仪表步进电机的运行性能。通过将传统的分步驱动升级为PWM微步细分驱动,利用正弦/余弦查表法合成旋转磁场,有效消除了指针抖动与噪声,实现了指针的平滑、精准运动。文章以STM32和VID2905电机为例,提供了详细的硬件连接、代码实现及高级优化技巧,为提升汽车仪表体验提供了实用方案。

weixin_29169505的博客 512

【软考高级架构】论文范文17——论软件系统架构评估及其应用(ATAM)

软件系统架构评估是保障系统质量属性满足业务目标的关键环节,架构权衡分析方法(Architecture Trade-off Analysis Method,ATAM)作为一种主流的架构评估方法,通过场景识别、敏感点与权衡点分析、风险与非风险决策识别等系统化活动,能够在架构设计早期发现潜在问题,降低后期修改成本。本文以笔者主导的某省级智慧医疗平台架构评估项目为案例,围绕ATAM方法的应用展开论述。笔者担任系统架构师,负责组织评估团队、引导场景捕获、分析架构决策、识别风险与权衡点。

qq837993702的博客 490

iOS之字符串处理:截取字符串、匹配字符串、分隔字符串

1、字符串的截取 //1.截取字符串 NSString *string =@"123456d890"; NSString *str1 = [string substringToIndex:5];//截取掉下标5之前的字符串 NSLog(@"截取的值为:%@",str1); NSString *str2 = [string substringFromIndex:3];//截取掉下标3之后的字符串 NSLog(@"截取的值为:%@",str2); 2、匹配字符串从字符串(sd是sfsfsA..

迦南的专栏 7803

C#项目实战——YModem协议文件传输【实例】

1、先由上位机发送*update*的握手信号,下位机返回响应字符‘C’(字符C,ASII码为0x43),之后通信双方开始以YMODEM协议进行数据通信。2、 YMODEM协议格式说明(1)起始帧数据格式帧类型(1byte)帧序号帧序号反码传输的文件名文件大小数据CRCSOH00FFfilenamefileziseNULCRCSOH=0x01,表示这个数据帧中包含着128个字节的数据(STX表示1024字节,初始帧只有128个);00表示数据帧序号,初始是0,依次向下排。

做有价值的事,积累有价值的笔记! 3655

C++处理字符串的方法——字符串类与字符串变量

C++提供了一种新的数据类型——字符串类型(string类型),在使用上和char、int类型一样,可以用来定义变量,这就是字符串变量。 实际上,string并不是C++本身具有的基本类型,它是C++标准库中声明的一共字符串类,用这种类可以定义对象。每一个字符串变量都是string类的一个对象。 1.字符串变量的定义和引用 (1)定义字符串变量 和其他类型变量一样,字符串变量必须先定义后使...

Rock N' Roll Forever 3554

高通8397/8797 qcx camera usecase梳理

本文介绍了ISP(图像信号处理器)的两种工作模式:Inline模式和Offline模式。Inline模式下,前端(IFE)直接连接物理层并行处理,最多支持4路流处理,后端(IPE)通过内存访问完成增强处理;Offline模式下,图像数据先写入内存再由SFE_Lite读取发送给IFE_Full处理,实现一个IFE串行处理多路数据。文章还详细解析了camera_config和usecase配置文件的结构与作用,包括硬件资源配置、场景逻辑定义等,并以ID40_UsecaseDMS为例说明离线模式的具体实现流程,包

车载行业 850

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【字符串】乱序字符串

问题描述 给出一个字符串数组S,找到其中所有的乱序字符串(Anagram)。如果一个字符串是乱序字符串,那么他存在一个字母集合相同,但顺序不同的字符串也在S中,样例:对于字符串数组 [“lint”,”intl”,”inlt”,”code”] 返回 [“lint”,”inlt”,”intl”] 问题分析:这个问题关键点有两个,第一个是如何判别两个顺序不同但是字母组成相同的字符串,很直接的方法就是...

永生只是一场幻梦 5395

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C语言--字符串拷贝、字符串查找、字符串比较、字符串截取

 在实际的应用当中,字符和字符串的操作是最常用的技能。总结下来,提升能力。 一、字符串拷贝 1、memcpy 2、strcpy 区别 二、字符串查找 三、字符串比较 四、字符串截取 1、一种简单而又机智的方法–strncpy  strncpy函数是拷贝N个字符到另一个字符数组中的库函数。利用它的性质可以达到截取字符串的目的:  首先:从源串中拷贝3个字符到终串中去(不能拷贝4个,否则会出现乱码!)...

似水流年 5万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

js字符串处理—是否包含某个字符串以及截取字符串

字符串内是否包含某个字符串——indexOf var oldString=“tongyuwan”; var newString=oldString.indexOf(‘tong’); if(newStrong)

像风走过八千里 2万+

如何实现字符串加字符串

之前我们讲到了数字类型可以使用+加号来计算,其实+加号不仅可以用来计算,还可以用于字符串的连接。 字符串加字符串 我们来看一下字符串是如何加字符串: 从上图我们可以看出,两个字符串相加,输出结果就是将两个字符串按顺序连接起来。在前面的字符串输出时也在前面位置,如果字符串本身没有空格,那么输出时字符串之间也是没有空格的。 字符串加变量 字符串不仅可以和字符串连接,也可以直接和变量连接。 变量加变...

ivenqin的博客 4128

论字符串

💎💎🚀关注博主,后期持续更新系列文章字符(char)与字符串(string)不同,字符由单引号包裹,字符串则由双引号包裹。很多字符串在一起,就可以组成一个字符串,如下图:字符串hello,就是由h、e、l、l、o这五个字符组成。字符串可以被看做是一个;所以,数组的语法同样适用于字符串,比如:通过下标获取单个字符。声明了一个字符串变量a,并赋值“hello”,输出字符串里的第一个字符,通过数组名+下标的方式输出。

WSH2012ffff的博客 1255

字符串--字符串字面量、字符串的存储

一个字符串可以存于字符数组中,但一个字符型数组中存储的并非一定是一个字符串,这要看它的最后一个元素是否为’\0’ ,字符数组是由字符构成的数组,仅当其最后一个元素为’\0’ 时才表示字符串。按这种方式定义和初始化数组,不必指定数组地大小,也不必单独为数组中地每个元素进行初始化,编译系统会根据字符串中字符地个数来确定数组地大小,由于字符串字符量“Hello”地末尾字符是’\0’ ,因此数组的大小为字符串中实际字符地个数加1。通常,将一个字符串存放在一维字符数组中,将多个字符串存放在二维字符数组中。

ww1425408527的博客 4135

字符串之子字符串查找

子字符串查找  字符串的一种基本操作就是子字符串查找:给定一段长度为N的文本text和一个长度为M的模式字符串pattern,在文本中找到一个和该模式相符的子字符串。解决该问题的大部分算法都可以很容易地扩展为找出文本中和该模式相符的子字符串,统计该模式在文本中的出现次数,或者找出上下文(和该模式相符的子字符串周围的文字)的算法。现如今主要算法有暴力子字符串查找,KMP,BM字符串查找和RK指纹字符...

blank4569的专栏 4813

字符串的统计字符串

【题目】给定一个字符串str,返回str的统计字符串。例如“aaabbadddffc”的统计字符串为“a_3_b_2_a_1_d_3_f_2_c_1”。 【补充题目】给定一个字符串的统计字符串,再给定一个整数index,返回cstr所代表的原始字符串上的第index个字符。例如,“a_1_b_100”所代表的原始字符串上第0个字符是‘a’,第50个字符是‘b’。 /* * 给定一个字符串str,...

gkq_tt的博客 2592

字符串的子字符串

给定一个字符串 sss,定义 f(p)f(p)f(p) 为字符串 ppp 的所有不同的非空子字符串的数量。从字符串 sss 中找到一个非空子字符串 ppp,使得 f(p)f(p)f(p) 为偶数。如果找不到这样的子字符串,则输出 −1-1−1。 样例输出 #1 1.特殊情况 2.巧妙分析 特殊分析 转折 那就要有人有疑问了 请看 一直循环,可得只需要讨论三个字符串 补充:其实也可以用来输出区间字符串,但我还是小白,就先从基础好好写吧 (但是可以简单的带一下它的用法)

2401_87488178的博客 1609

C#基础——字符串、字符串API。可变字符串

字符串是 System.String 类的实例。字符串表示文本数据,可以包含字母、数字、符号和空格等字符。创建字符串字符串拼接str1str2占位符使用字符数组对字符串进行初始化字符串长度 Length。

一个不掉头发的资深小白 1973

verilog 字符串

3.4.3字符串常量 字符串是双引号内的字符序列,用一串8位二进制ASCⅡ码的形式表示,每一个8位二进制ASCⅡ码代表一个字符。例如:字符串“ab”等价于16'h5758。如果字符串被用作Verilog表达式或复制语句的操作数,则字符串被看做无符号整数序列。 1.字符串变量声明 字符串变量是寄存器型变量,它具有与字符串的字符数乘以8相等的位宽。【例3.13】字符串变量的声明。 存...

Chauncey_wu的博客 1万+
上一篇: Python风格
下一篇: 选择结构(条件判断结构)
可爱软萌喵酱
博客等级 码龄5年 100粉丝 20原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值