当前位置:实例文章 » Python实例» [文章]【Python】字符串 - 集大成篇

【Python】字符串 - 集大成篇

发布人:shili8 发布时间:2023-03-14 02:34 阅读次数:19

目录

1. 不同语言的字符串比较

1.1 C 语言

1.2 C ++ 语言

1.2.1 C 风格字符串

1.2.2 C ++ 风格字符串

1.3 JAVA

1.4 Python

2. Python 字符串

2.1 方法

2.2.1 title ()

2.2.2 lower ()

2.2.3 upper ()

2.2.4 rstrip ()

2.2.5 lstrip ()

2.2.6 strip ()

2.2.7 center()

2.2.8 split()

2.2.9 replace()

2.2.10 join()

2.2.11 find()

3. f 字符串

4. 总结


1. 不同语言的字符串比较

程序 收集并定义 某种数据,然后使用他们来做一些有意义的事情。有鉴于此,对数据进行分类大有裨益

有一种数据,叫做字符串型数据。字符串是字符的集合,不同的编程语言对于字符串的处理并不相同。在 C 语言中,一个字符串指的是 由字符构成的数组;在 C++ 中,字符串既可以指 由字符构成的数组,也可以指一种名叫 string 的数据类型;在 Java 中,字符串是一种名叫 string 的数据类型;同样的,在 Python 中,字符串也是一种 string 数据类型

接下来分别比较,在不同编程语言中是怎样处理字符串的。

1.1 C 语言

char 变量名[ ] = " 字符串值 "

char arr1[] = "Hello, C !!";

printf("%s\n", arr1);

1.2 C ++ 语言

1.2.1 C 风格字符串

一种由字符构成的数组

char 变量名[ ] = " 字符串值 "

char arr[] = " Hello C++ ! ! ";

cout << arr << endl;

1.2.2 C ++ 风格字符串

一种数据类型

string 变量名 = " 字符串值"

string arr = " Hello C++ ! ! ";

cout << arr << endl;

1.3 JAVA

String 变量名 = " 字符串值 "

String arr = "Hello Java ! !";

System.out.println(arr);

1.4 Python

变量名 = " 字符串值 "

name = "aperion"

注:Python 与众不同的一点在于,不用人为的定义变量的数据类型,这些都是由 Python 自动完成。

2. Python 字符串

在 Python 中,字符串也是一种 string 数据类型用引号括起的都是字符串,其中的引号可以是 单引号,也可以是 双引号。在其他语言中,单引号括起的是字符,双引号阔起的是字符串,这一点区别于 Python 语言。

2.1 方法

字符串的方法太多了,这里只介绍一些最有用的。

2.2.1 title ()

作用:将单词首字母改为大写

name = "lebron james"

print(name.title())

0cb721fe86bc4502bc85746a8c67b866.jpeg

2.2.2 lower ()

作用:将单词全部小写

name = "Lebron James"

print(name.lower())

c71f10e453a4442b930ec2cef0e824db.jpeg

2.2.3 upper ()

作用:将单词全部大写

name = "Lebron James"

print(name.upper())

86bab75844e3461a925f203a4626502f.jpeg

2.2.4 rstrip ()

作用:删除字符串尾部空白

在程序中,额外的空白令人迷惑。对 程序员 说,'Python' 和 'Python ' 看起来几乎没有什么两样,但对 程序 来说,它们却是两个不同的字符串。Python 能够发现 'Python ' 中额外的空白,并认为它意义重大。

空白很重要,因为我们经常需要比较两个字符串是否相同。例如:在用户登录网站时,检查其用户名,看看用户有没有误输入空白,如果有,就删除其空白。

language = "Python "

print(language)

language = language.rstrip()

print(language)

98c18da0f7f7421e804ceb6f1d7b2724.jpeg

  • 上图终端中的执行结果看起来一样,实则不一样。打印的第一个 Python 有空格,因为 Python 后面再无字符,所以空格的显现不明显。打印的第二个 Python 没有空格,因为第五行代码的执行,删除了 Python 后面的空格。

2.2.5 lstrip ()

作用:删除字符串开头空白

language = " Python"

print(language)

language = language.lstrip()

print(language)

e42915d541524abe9d2b8f34ff0c2eea.jpeg

2.2.6 strip ()

作用:删除字符串两边的空格 (但不包括中间的空白)

text = ' Hello Python !! '

print(text)

new_text = text.strip()

print(new_text)

2.2.7 center()

作用:通过在两边添加填充字符串(默认为空格)让字符串居中

在 Python 中,center() 方法是一个内置的字符串方法,它允许我们把一个字符串用指定的宽度让字符串居中。center() 方法 返回一个新的字符串,这个新的字符串被指定的字符所填充(默认为空格),同时它也被指定的宽度使得字符串居中。center() 方法的语法如下:

string.center( width [, fillchar] )

语法中的 string 是要居中的字符串,width 得到的是居中字符串的宽度,fillchar 是要使用可选填充的字符。如果未指定 fillchar ,默认情况下使用 空格字符

# 原始字符串
text = 'Hello Python !'

# 居中字符串
centered_text = text.center(20,'-')

print(text)

print(centered_text)

  • 在本例中,原始字符串“Hello,Python!”在 20个字符的宽度内居中,两边用破折号(-)填充。

2.2.8 split()

作用:将字符串拆分为列表

① 分隔符 '+'

text = '1+2+3+4+5+6'

new_text = text.split('+')
print(new_text)

② 分隔符 '/'

text = '/usr/bin/env'

new_text = text.split('/')
print(new_text)

③ 没有指定分隔符

text = 'usring the default'

new_text = text.split()
print(new_text)

  • 如果没有指定参数,将默认在单个或多个连续的空白字符(空格、制表符、换行符等)处进行拆分。

2.2.9 replace()

作用:将指定字符子串都替换为另一个字符串,并返回替换后的结果,即查找并替换

text = 'This is C programming langugaes'

print(text)

new_text = text.replace('C','Python')
print(new_text)

2.2.10 join()

作用:用于合并列表的元素

seq = ['1','2','3','4','5']

sep = '+'

new_seq = sep.join(seq)
print(new_seq)

dirs = '','usr','bin','env'

print('/'.join(dirs))

dirs = '','usr','bin','env'

print('C:'+'\\'.join(dirs))

2.2.11 find()

作用:在字符串中查找子串,如果找到,就返回子串的 第一个字符的索引,否则返回 -1。

text = 'With a moo-moo here,and a moo-moo there'

print(text.find('moo'))

title = "Monty Python's Flying Circus"

print(title.find('Monty'))
print(title.find('Python'))
print(title.find('Flying'))
print(title.find('Zirquss'))

还可指定搜索的起点和终点(它们都是可选的)

subject = '$$$ Get rich now!!! $$$'

print(subject.find('$$$'))

# 只指定起点
print(subject.find('$$$',1))

print(subject.find('!!!'))

# 同时指定起点和终点
print(subject.find('!!!',0,16))

3. f 字符串

f 字符串在 python 3.6 版本中引入,该方法使得在字符串中使用变量值简单许多。如果你使用的是 python 3.5 或更早的版本,需要使用 format() 方法,而非这种 f 语法。

作用:在字符串中使用变量

要在字符串中插入变量的值,可在前引号前加上字母 f ,再将要插入的变量放在花括号内。这样,当 Python 显示字符串时,将把每个变量都替换为其值。所以这种字符串名为 f 字符串,f 是 format(设置格式)的简写。

first_name = 'ada'

last_name = 'lovelace'

full_name = f'{first_name} {last_name}'

print(f'Hello, {full_name.title()}')

4. 总结

这篇文章主要讲解了 Python 字符串和其他语言字符串的比较,以及 Python 字符串常用的方法等,如果想要了解更多的 Python 字符串方法,可以参官方文档。这期的分享总结就到这里了,如果有疑问的小伙伴,我们评论区交流嗷~,笔者必回,我们下期再见啦!!

相关标签:

免责声明

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱290110527@qq.com删除。

其他信息

其他资源

Top