python中字符串常用操作

字符串是 Python 中最常用的数据类型。我们可以分别使用单引号'和双引号 ''来创建字符串。
字符串一旦创立之后,即不可更改,和python中的元组数据类型一样。
Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。

# -*- coding: utf-8 -*-
"""
Created on Sun Aug 19 01:00:51 2018

@author: aoanng
"""

## 创立和访问字符串
var1 = "Hello world" #使用双引号创立字符串,也可以使用单引号
#Python 访问子字符串,可以使用方括号来截取字符串,如下实例:
print(var1[0])
#使用切片访问字符串,字符串中切片的处理和列表大致是一样的,看我上上篇博客
print(var1[0:5]) 

## 字符串不可更改,如以下例子会报错
# var1[0] = 'a'

## 字符串运算符
# + 字符串连接
var2 = 'aoanng'
print(var1[0:6] + var2)
# *重复输出字符串
print(var2*2)
# [] 通过索引获取字符串中字符
print(var1[0])
# [:]
print(var1[:])
# in 成员运算符 如果字符串中包含给定的字符返回 True
print('a' in var1)
# not in 成员运算符 如果字符串中不包含给定的字符返回 True
print('a' not in var1)
# r/R 原始字符串:所有的字符串都是直接按照字面的意思来使用
print( r'\n' )
# % 格式字符串
print ("我叫 %s 今年 %d 岁!" % ('aoanng', 25))

## 三引号 """ """ 三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)


## 强大的python字符串内建函数
# 将字符串的第一个字符转换为大写
print(var2.capitalize())
# center(width, fillchar) 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
print(var1.center(16,'*'))
# count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
print(var1.count('H'))
#encode(encoding='UTF-8',errors='strict') encode() 方法以指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。
print(var1.encode("UTF-8")) #输出为bytes对象
print(var1.encode("GBK")) #输出为bytes对象
#以指定的编码格式解码 bytes 对象。默认编码为 'utf-8'。
print(var1.encode("UTF-8").decode('UTF-8','strict')) #输出为字符串str对象
print(var1.encode("GBK").decode('GBK','strict')) #输出为字符串str对象
# 判断字符串是否以指定后缀结尾,str.endswith(suffix[, start[, end]])
print(var1.endswith("d"))
# 检测字符串中是否包含子字符串, str.find(str, beg=0, end=len(string))
print(var1.find('H')) #返回索引值,若不包括,返回-1
# index(str, beg=0, end=len(string)) ,跟find()方法一样,只不过如果str不在字符串中会报一个异常.
print(var1.index('H'))
# 检测字符串是否只由数字组成。
print(var1.isdigit())
# 将序列中的元素以指定的字符连接生成一个新的字符串。
s1 = "-"
seq = ("r", "u", "n", "o", "o", "b") # 字符串序列
print (s1.join( seq ))
#转换字符串中所有大写字符为小写.
print(var1.lower())
#转换字符串中所有小写字符为大写
print(var1.upper())
# 返回长度为 width 的字符串,原字符串右对齐,前面填充0
print(var1.zfill(20))
# 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。
print(var1.isdecimal())
# 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
print(var1.title())
#将字符串中大写转换为小写,小写转换为大写
print(var1.swapcase())
# 类似于 find()函数,不过是从右边开始查找.
print(var1.rfind('H'))
# 类似于 index(),不过是从右边开始.
print(var1.rfind('H'))
#长度、最大字母、最小字母
print(len(var1))
print(max(var1))
print(min(var1))
#截掉字符串左边的空格或指定字符。
print(var1.lstrip('H'))
# 删除字符串字符串末尾的空格.
print(var1.rstrip('d'))
# 在字符串上执行 lstrip()和 rstrip()
print(var1.strip())
# 如果字符串是标题化的(见 title())则返回 True,否则返回 False
print(var1.istitle())
# split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
# split(str="", num=string.count(str)) 
#str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
print(var1.split())
print(var1.split('l'))

这里写图片描述

这里写图片描述

这里写图片描述

参考:
http://www.runoob.com/python3/python3-string.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值