Python2 和 3 中如何将(Unicode)字符串转换为小写
从 Python 3.0 开始字符串 str 类型默认就包含了 Unicode 字符,也就是说所有的字符串比如 "unicode example", 'unicode example 2'都是按照 Unicode 来保存的。
因此,在 Python 3 中你可以用 str.lower() 方法将任何的字符串,不论其中是否包含 Unicode 字符,转换为小写类型。
exampleString = "CaseString"
exampleString.lower()
#Out: 'casestring'
exampleString = "СтрокаСлучая"
exampleString.lower()
#Out: 'строкаслучая'
Python 2.7 中的字符串 str 类型不是按照 Unicode 编码来存储的,Unicode 字符串是 Python 2.7 中的 unicode 类型的实例。我们将字符串转换为小写时,我们必须区分字符串是 ASCII 字符串还是 unicode 字符串。
它与 Python 3 中使用的方法相同。str.lower() 将字符串 str 转换为小写。
exampleString = "CaseStringExample"
exampleString.lower()
#Out: 'casestringexample'
如果字符串中的字符是 unicode 类型且未用 unicode 类型来明确表示,则 str.lower() 方法根本不会将字符串转换为小写。
exampleString = "СтрокаСлучая"
print exampleString.lower()
#Out: СтрокаСлучая
exampleString.lower() == exampleString
#Out: True
使用 Unicode 而不是 str
我们需要定义包含 Unicode 字符的字符串为 unicode 类型,也就是在字符串的前面需要加上 u。
exampleUnicodeString = u"СтрокаСлучая"
exampleUnicode
#u'\u0421\u0442\u0440\u043e\u043a\u0430\u0421\u043b\u0443\u0447\u0430\u044f'
exampleUnicodeString.lower()
#u'\u0441\u0442\u0440\u043e\u043a\u0430\u0441\u043b\u0443\u0447\u0430\u044f'
print exampleUnicodeString.lower()
#Out: строкаслучая
可以看到字符串的第一个字符从\u0421 转换为\u0441。
如果给定的字符串是 str 形式,我们需要先将其转换为 unicode,然后再进行小写转换。
exampleString = "СтрокаСлучая"
print exampleString.decode('utf-8').lower()
#Out: строкаслучая
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串

