目录
1、不同语言的字符串比较
程序 收集并定义 某种数据,然后使用他们来做一些有意义的事情。有鉴于此,对数据进行分类大有裨益。
有一种数据,叫做字符串型数据。字符串是 字符的集合,不同的编程语言对于字符串的处理并不相同。在 C 语言中,一个字符串指的是 由字符构成的数组;在 C++ 中,字符串既可以指 由字符构成的数组,也可以指一种名叫 string 的数据类型;在 Java 中,字符串是一种名叫 string 的数据类型;同样的,在 Python 中,字符串也是一种 string 数据类型。
编程语言 | 字符串的类型 | |
---|---|---|
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.1.1 title ()
作用:将单词首字母改为大写
name = "lebron james"
print(name.title())
2.1.2 lower ()
作用:将单词全部小写
name = "Lebron James"
print(name.lower())
2.1.3 upper ()
作用:将单词全部大写
name = "Lebron James"
print(name.upper())
2.1.4 rstrip ()
作用:删除字符串尾部空白
在程序中,额外的空白令人迷惑。对 程序员 说,'Python' 和 'Python ' 看起来几乎没有什么两样,但对 程序 来说,它们却是两个不同的字符串。Python 能够发现 'Python ' 中额外的空白,并认为它意义重大。
空白很重要,因为我们经常需要比较两个字符串是否相同。例如:在用户登录网站时,检查其用户名,看看用户有没有误输入空白,如果有,就删除其空白。
language = "Python "
print(language)
language = language.rstrip()
print(language)
- 上图终端中的执行结果看起来一样,实则不一样。打印的第一个 Python 有空格,因为 Python 后面再无字符,所以空格的显现不明显。打印的第二个 Python 没有空格,因为第五行代码的执行,删除了 Python 后面的空格。
2.1.5 lstrip ()
作用:删除字符串开头空白
language = " Python"
print(language)
language = language.lstrip()
print(language)
2.1.6 strip ()
作用:删除字符串两边的空格 (但不包括中间的空白)
text = ' Hello Python !! '
print(text)
new_text = text.strip()
print(new_text)
2.1.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.1.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.1.9 replace()
作用:将指定字符子串都替换为另一个字符串,并返回替换后的结果,即查找并替换
text = 'This is C programming langugaes'
print(text)
new_text = text.replace('C','Python')
print(new_text)
2.1.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.1.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))
2.2、字符串的单引号和双引号
Python 中的字符串是用单引号和双引号表示,这一点区别于其他编程语言。
3、f 字符串
在 Python 3.6 版本中,引入了一种新的 字符串格式化 语法,称为 f 字符串 或 格式化字符串。f 字符串提供了一种简单,直接和易于读取的方法来将表达式嵌入到字符串中,该方法使得在字符串中使用变量值简单许多。
如果你使用的是 python 3.5 或更早的版本,需要使用 format() 方法,而非这种 f 字符串格式化语法。f 字符串有两个用法,一是在字符串中使用变量,二是格式说明符。接下来具体的详细介绍这两种用法。
3.1、在字符串中使用变量
要在字符串中插入变量的值,可在前引号前加上字母 f ,再将要插入的变量 放在花括号{}内,即在字符串中使用大括号 {} 来包含何有效的 Python 表达式,在大括号中使用任何有效的 Python 表达式,并可以在其中引用 变量,调用函数 等等。这样,当 Python 显示字符串时,将把每个变量都替换为其值。所以这种字符串名为 f 字符串,f 是 format(设置格式)的简写。
first_name = 'ada'
last_name = 'lovelace'
full_name = f'{first_name} {last_name}'
print(full_name)
print(f'Hello, {full_name.title()}')
3.2、格式说明符
在大括号内,可以使用花括号 {} 来包含变量名,并在大括号中使用 冒号 : 来添加 格式化说明符,例如我们使用 f 字符串将变量 Pi 嵌入到字符串中,并使用 格式说明符 ".2f" 来将 Pi 格式化为只有两位小数。
pi = 3.14159265359
print(f"Pi 的值大约是 {pi:.2f}")
这段代码将 pi 的值格式化为 带两位小数的字符串,并将其插入到一段字符串中输出。具体来说,这段代码首先定义了一个名为 pi 的 浮点型变量,其值为 3.14159265359。然后,它使用 f 字符串将字符串和变量的值组合起来。
在大括号 {} 中,冒号 : 后面的 .2f 表示 将 pi 格式化为带两位小数的浮点数,并将结果插入到大括号所在的位置。在这里,.2f 表示要将浮点数格式化为带两位小数的字符串,其中 f 表示 要使用固定点表示法 来表示浮点数。
最后,整个字符串被打印出来,输出结果为:Pi 的值大约是 3.14。
4、总结
这篇文章主要讲解了 Python 字符串和其他语言字符串的比较,以及 Python 字符串常用的方法等,如果想要了解更多的 Python 字符串方法,可以参考 Python 官方文档。掌握 Python 字符串,就能驾驭 文本处理、数据清洗、Web 开发 等多个领域,从而大大提高编程效率。希望这篇博客能够帮助到各位小伙伴。
本期的分享总结就到这里了,如果有疑问的小伙伴,我们评论区交流嗷~,笔者必回,我们下期再见啦!!