python字符复制函数是啥_Python最全的字符和字符串函数,直接复制到IDLE或另存为py可以运行...

## -*- coding: utf-8 -*-

import string

str1 = "0123456789"

print str1[0:3] ##截取第一位到第三位的字符

print str1[:] ##截取字符串的全部字符

print str1[6:] ##截取第七个字符到结尾

print str1[:-3] ##截取从头开始到倒数第三个字符之前

print str1[2] ##截取第三个字符

print str1[-1] ##截取倒数第一个字符

print str1[::-1] ##创造一个与原字符串顺序相反的字符串

print str1[-3:-1] ##截取倒数第三位与倒数第一位之前的字符

print str1[-3:] ##截取倒数第三位到结尾

print str1[:-5:-3] ##逆序截取,具体啥意思没搞明白?

print str1.center(55) ##居中对齐

print str1.ljust(55,\'*\') ##左对齐并以*填充

print str1.rjust(55,\'*\') ##右对齐并以*填充

print \'% 55s\' %str1 ##格式化字符串

str = \'fish\' \'hat\' #若干个字符串之间如果只有空格,Python会自动连接

print str

str += \' learning Python!\' #使用运算符追加字符串

print str

string = (\'apple\',\'banana\',\'china\')

print \'-\'.join(string) #向string这个元组中的多个字符串元素之间加上\'-\'然后输出

print \'\'.join(string) #加入的字符也可以是空的

print \'-\'.join(\'fishhat\') #直接使用,自动在每个子字符中加入\'-\'

str2 = \'f-i-s-h-h-a-t\'

str2.split(\'-\') #按\'-\'作为截取子字符串的符号,也就是说遇到一个\'-\'则截取一个子字符

print str2

str2.split(\'-\',2) #在按\'-\'截取子字符的时候,当截取到第2个\'-\'的时候就停止截取,后面的字符全部按一个子字符返回(也就是说不管有没有\'-\'Python都不会理 了,它认为你只指定了2个\'-\'有效)

print str2

str3 = \'fishhat\'

print str3.startswith(\'fi\') #startswith(substring[,start[,end]])--用于判断字符串是否以substring字符开始的,start和 end需要对比的字符区间,默认是整个字符串,成功返回True失败返回False

print str3.startswith(\'sh\',2,4) #查找从第3到5个是不是以sh开头

print str3.endswith(\'fi\') #endwith(substring[,start[,end]])--用于判断字符串是否以substring字符开始的,start和 end需要对比的字符区间,默认是整个字符串,成功返回True失败返回False

print str3.endswith(\'sh\',2,4) #查找从第3到5个是不是以sh结尾

str4 = \'I am Fishhat\' #find(substring[,start[,end]])--在字符串中查找子字符substring,后面的两个可选参数是进行切片查找如果在字符串中找到substring则返回索引(如果字符串中有多个结果则返回第一次出现的索引),没找到返回-1

print str4.find(\'F\') #记住.在查找的时候是区分大小写的

print str4.find(\'f\') #试试看小写

print str4.find(\'h\',2,5)

print str4.find(\'h\',5,-1) # 索引5到字符串的最后一个索引

print str4.find(\'h\') #先看看find()方法的结果

print str4.rfind(\'h\') #然后试试rfind()方法看看跟上面有什么不一样的注意到了没?\'I am Fishhat\'中是不是有两个\'h\'呢?

#因为find()从左至右(顺序)开始查找的,找到的第一个\'h\'是在第8个索引,索引find()就返回咯

#而rfind()不一样,它是从右至左(倒序)进行查找的,找到的第一个\'h\'是在第9个索引.那就返回倒序查找先发现的咯,当然是9了

print str.replace(\'f\',\'m\') #把字符串中所有的I替换为Ureplace()函数的操作不会影响原字符串.只是拷贝原字符串然后进行操作而已

print str4.replace(\'I\',\'U\') #不知道为什么这个不行

print str4.replace(\'h\',\'H\',2) #替换字符串中的3个h为H

#######################时间函数

import time #由于获取时间和使用转换函数需用到time模块.所以必须导入

str = time.strftime(\'%Y-%m-%d %X\',time.localtime()) #time,localtime()返回以本地时间的所有参数为元素的元组 时间转为字符串--strftime(format[,tuple]),其中format为转换格式类型tuple为一个时间元组

print str

#字符串转为时间--需要用到time模块strptime()函数和datetime模块datetime()函数

#strptime(string,format)--把字符串string以format的格式返回一个时间的元组(元组内有齐全的时间元素,但是如果字 符串中只有几个有用的时间信息,其他的元素默认或取本地时间的一些信息)

str = \'2009/12/09\'

str = time.strptime(str,\'%Y/%m/%d\') #注意后面的获取字符串中的时间的格式.对应原字符串中年月日之间的间隔符号

print str

#可以注意到元组中前三个元素都是刚才字符串中得到的值,后面的信息都没获取到#time.struct_time(tm_year=2009, tm_mon=12, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=343, tm_isdst=-1)

import time,datetime #首先导入两个使用到的模块

str = datetime.datetime(2009,12,9) #定义一个datetime变量,注意后面参数中的月或日,只能单写也就是说,9月或9日不能写成09月或09日,必须单写

print str

#但显示却会显示完整的,比如其中的9日显示为了09日,还有,默认时分秒为0

type(str)

#这里可以看到刚才定义的str为这种类型的变量

#最后再把上面这两个函数结合起来完整的完成字符串到时间的转换:

string = \'2009-12-09\'

string = time.strptime(string,\'%Y-%m-%d\') #首先把字符串使用strptime()返回一个时间元素构成的元组

y, m, d = string[0:3] #把得到的时间元组前三个元素赋值给三个变量(也就是年月日)

string = datetime.datetime(y, m, d) #最后使用datetime把刚才得到的时间变量转为正式的时间格式变量

print string

#替换符合条件的字符

import re

print re.sub("asd","dsa","sasd") #将右边字符中包含的左边的字符替换为中间的字符

#连接字符串

delimiter = \',\'

mylist = [\'Brazil\', \'Russia\', \'India\', \'China\']

print delimiter.join(mylist)

#分割字符串

sStr1 = \'ab,cd,ef,gh\'

sStr2 = \',\'

print sStr1[sStr1.find(sStr2)+1:]

#将字符串前n个字符替换为指定的字符

sStr1 = \'12345\'

ch = \'r\'

n = 3

print n*ch + sStr1[3:]

#字符串的首字母转换成大写, 其余转换成小写

print \'JUST TO TEST IT\'.capitalize()

#字符串中所有单词的首字母转换成大写, 其余转换成小写

print \'JUST TO TEST IT\'.title()

#转换大小写

sStr1 = \'Hello\'

print sStr1.upper()

print sStr1.lower()

#判断大小写和首字母有无大小写

print \'JUST TO TEST IT\'.isupper()

print \'JUST TO TEST IT\'.islower()

print \'JUST TO TEST IT\'.istitle()

##上面用到了string.maketrans方法:

import string

map = string.maketrans(\'123\', \'abc\') #建立映射表,将字符串中含有的’1′,’2′,’3′替换为’a\',’b\',’c’

print \'123456\'.translate(map) #用创建的映射表map转换字符串

print \'123456\'.translate(map, \'478\') #用创建的映射表map转换字符串, 然后再根据后面字符串’478′, 去除相同字符

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值