python访问字符串中的部分字符的操作_Python字符串基础操作
標簽:
==============字符串========
>>> s1=‘www.baidu.com‘
>>> type(s1)
>>> type(2)
>>> type("‘dsfdsjk‘")
用type()測一下是什么類型
字符串的訪問s1[0]=’ s1[2]=w用下標來訪問
>>> s6=‘aa\nbb‘
>>> print s6
aa
bb
>>> #/n是轉義字符,表示換行符各種換行符如圖記載
>>> s6=‘aa\nbb‘
>>> print s6
aa
bb
>>> s7=r‘aa\nbb‘ #當加上r的時候就是不轉義的意思【關閉轉義機制】
>>> print s7
aa\nbb
>>> s8=u‘aa\nbb‘ #當加上u的時候表示后面跟的字符串是unicode編碼
>>> print s8
aa
bb
>>>‘%10s%10d%10.2f’%(‘record’,21,25.652)格式化字符串%s格式化為字符串%d格式化為整數%f格式化為浮點數(反正前面有幾個格式占位符這邊就幾個逗號隔開的對應值)10.2f表示浮點數占10位小數點后面保留2位四舍五入
>>>print ‘name %s age %d record %f‘%(‘amily‘,25,99.9)
name amily age 25 record 99.900000
>>> s1=‘www.baidu‘
>>> s2=‘.com‘
>>> print s1+s2 #+加號字符串連接+前后必須都是字符串類型
www.baidu.com
>>> s1=‘hello amily‘
>>> s2=2
>>> print s1+str(s2) 轉換為字符串類型再進行加法運算
hello amily2
>>> li1=[1]*5 #*星號字符串重復等于N個加法*前為字符串*后為數字
>>> print li1
[1, 1, 1, 1, 1]
>>> li2=[‘aa‘]*5
>>> print li2
[‘aa‘, ‘aa‘, ‘aa‘, ‘aa‘, ‘aa‘]
>>> s1=‘111‘*20
>>> print s1
111111111111111111111111111111111111111111111111111111111111
>>> s1=‘www.baidu.com‘
>>> print s1[4] #通過[]下標訪問字符串的第幾個位置的值str[index]
b
>>> s1=‘www.baidu.com‘
>>> print s1[-4] #負數也可以,負數就是從右邊為起點
.
>>>
>>> print s1[2:4] # str[start:end]切片start切片起點end切片終點起點或者終點可以不填寫負數就是從右邊開始
w.
>>> #這里切片起點必須小于終點,因為是從左向右切的。
如果要從右向左切片, 則str[big:small:-1], 這樣是逆序輸出
>>> s1=‘www.baidu.com‘
>>> print s1[8:3:-1]
udiab
>>> s1=‘www.baidu.com‘
>>> print s1[-1::-1] #實現字符串的逆序輸出
moc.udiab.www
>>>
字符串其他常用函數
>>> s=‘dafdfh234234hjk‘
>>> s.isalnum() #str.isalnum判斷字符串中是否均為數字或者字母
True
>>> s=‘sadfhd.?
>>> s.isalnum()
False
>>>
>>> s=‘sdfhdjshf0‘
>>> s.isalpha() #str.isalpha判斷字符串中是否均為字母
False
>>> s=‘dfdfhdgf‘
>>> s.isalpha()
True
>>> s=‘132746‘
>>> s.isdigit() #str.isdigit判斷字符串中是否均為數字
True
>>> s=‘sdfgydh678‘
>>> s.isdigit()
False
>>> s=‘ABV‘
>>> s.isupper() #str.isupper判斷字符串中是否均為大寫字母
True
>>> s=‘dfhu‘
>>> s.islower() #str.islower判斷字符串中是否均為小寫字母
True
>>> s=‘‘
>>> s.isspace() #str.isspace 判斷字符串是否為空格
False
>>> s=‘ ‘
>>> s.isspace()
True
>>> s=‘djfdjsfh‘
>>> s.upper() #str.upper字符串轉化為大寫字母
‘DJFDJSFH‘
>>> s=‘DJKJSDJFK‘
>>> s.lower() #str.lower字符串轉化為小寫字母
‘djkjsdjfk‘
>>> s=‘DJKJSDJFK‘
>>> s.lower()
‘djkjsdjfk‘
>>> s=‘dfhAJKH‘
>>> s.upper()
‘DFHAJKH‘
>>> s.lower()
‘dfhajkh‘
>>> s=‘ dsjfhdsjkf kdjfhj ‘
>>> s.strip() #str.strip是去除某字符串左右的一個或多個空格(廣義空格,\n,\t)
可以寫成str.strip(‘\n’)
#str.split()前后中間的空格都能去掉
‘dsjfhdsjkf kdjfhj‘
>>> s.rstrip() #str.rstrip 是去除字符串右邊的空格(可以去掉多個空格)
‘ dsjfhdsjkf kdjfhj‘
>>> s.lstrip() #str.lstrip 是去除字符串左邊的空格(可以去掉多個空格)
‘dsjfhdsjkf kdjfhj ‘
#coding:utf-8
s=‘www.baidu.com‘
s1=‘www‘
s2=‘.com‘
if s.startswith(s1): #str.startswith(str1) 判斷字符串是否以str1開始,返回布爾值
print ‘www‘
if s.endswith(s2): #str.endswith(str1)判斷字符串是否以str1結束,返回布爾值
print ‘.com‘
>>> s=‘www.baidu.com‘
>>> id(s) #id(str)查看字符串在內存中的地址
46351608
>>> s1=s.replace(‘b‘,‘B‘) #str.replace(‘a’,’b’)將字符串中的a全部替換為b
>>> id(s1)
46353008
>>> s=s.replace(‘w‘,‘S‘) #可以看到replace函數“修改了”原來的字符串,字符串位置改變了,說明其實不是原來的字符串了,so字符串是不可以被修改的,只是產生了一個新的字符串罷了
>>> id(s)
46353808
>>> print s
SSS.baidu.com
>>> s=‘ dsfdsf f d 234h djfha ‘
>>> li=s.split() #str.split()字符串分割,返回一個list類型
>>> print li
[‘dsfdsf‘, ‘f‘, ‘d‘, ‘234h‘, ‘djfha‘]
這個其實用split可以直接實現,但是這里最重要的是思路的循序漸進。寫比較復雜的算法一定要有循序漸進的思路,慢慢來,一點點的去實現,然后在組合在一起,尤其是循環的這種一次找不到規律,可以逐步的走幾個循環,找到規律再寫while或者for語句。
#coding:utf-8
def Mysplit(s):
s=s.strip()
while(s.find(‘ ‘)!=-1):
index1=s.find(‘ ‘)
s1=s[:index1]
s=s[len(s1):]
s=s.lstrip()
print s1
else:
print s
Mysplit(‘ dsfdsf f d 234h djfha hfkdjfdjd dkfdk dkfjadkjf dfajkdf adkfasdfhjd 34737 ‘)
str.split()細講 記錄split()返回的是list類型的 以sth為分隔符,分割N次(分為N+1份),取第幾份。Split(‘m’,n)[x]
>>> u = "www.doiido.com.cn"
#使用默認分隔符
>>> print u.split()
[‘www.doiido.com.cn‘]
#以"."為分隔符
>>> print u.split(‘.‘)
[‘www‘, ‘doiido‘, ‘com‘, ‘cn‘]
#分割0次
>>> print u.split(‘.‘,0)
[‘www.doiido.com.cn‘]
#分割一次
>>> print u.split(‘.‘,1)
[‘www‘, ‘doiido.com.cn‘]
#分割兩次
>>> print u.split(‘.‘,2)
[‘www‘, ‘doiido‘, ‘com.cn‘]
#分割兩次,并取序列為1的項
>>> print u.split(‘.‘,2)[1]
doiido
#分割最多次(實際與不加num參數相同)
>>> print u.split(‘.‘,-1)
[‘www‘, ‘doiido‘, ‘com‘, ‘cn‘]
#分割兩次,并把分割后的三個部分保存到三個文件
>>> u1,u2,u3 = u.split(‘.‘,2)
>>> print u1
www
>>> print u2
doiido
>>> print u3
com.cn
去掉換行符
>>> c = ‘‘‘say
hello
baby‘‘‘
>>> print c
say
hello
baby
>>> print c.split(‘\n‘)
[‘say‘, ‘hello‘, ‘baby‘]
分離文件名與路徑
>>> os.path.split(‘/dodo/soft/python‘)
(‘/dodo/soft‘, ‘python‘)
>>> os.path.split(‘/dodo/soft/python/‘)
(‘/dodo/soft/python‘, ‘‘)
好例子
>>> str=‘hello hahaha<[www.baidu.com]>gdf238728‘
>>> print str.split(‘[‘,1)[1].split(‘]‘,1)[0]
www.baidu.com
>>> print str.split(‘[‘,1)[1].split(‘]‘,1)[0].split(‘.‘)
[‘www‘, ‘baidu‘, ‘com‘]
>>>
標簽:
原文地址:http://www.cnblogs.com/AmilyWilly/p/5103489.html
總結
以上是生活随笔為你收集整理的python访问字符串中的部分字符的操作_Python字符串基础操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 执行perl时出现Undefined s
- 下一篇: python学习-Dya13-函数