zoukankan      html  css  js  c++  java
  • Python字符串基础操作

    ==============字符串========

    >>> s1='www.baidu.com'

    >>> type(s1)

    <type 'str'>

    >>> type(2)

    <type 'int'>

    >>> type("'dsfdsjk'")

    <type 'str'>

    type()测一下是什么类型

    字符串的访问 s1[0]=’  s1[2]=w  用下标来访问

    >>> s6='aa bb'

    >>> print s6

    aa

    bb

    >>> #/n是转义字符,表示换行符  各种换行符如图记载

    >>> s6='aa bb'

    >>> print s6

    aa

    bb

    >>> s7=r'aa bb'      #加上r的时候就是不转义的意思【关闭转义机制】

    >>> print s7

    aa bb

    >>> s8=u'aa bb'  #加上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.?<dfah'

    >>> 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是去除某字符串左右的一个或多个空格(广义空格, ,

                                                               可以写成str.strip(‘ ’)

                                                                   #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(' ')

    ['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']

    >>> 

  • 相关阅读:
    Cocos Creator 功能介绍
    Cocos Creator 功能介绍
    Cocos Creator打包发布
    Cocos CreatorUI系统下
    Web前端开发工具和环境清单
    Web前端开发工具和环境清单
    Cocos CreatorUI系统上
    Cocos Creator开发hello World
    前端微信小程序电影类仿淘票票微信小程序
    前端微信小程序电影类仿淘票票微信小程序
  • 原文地址:https://www.cnblogs.com/AmilyWilly/p/5103489.html
Copyright © 2011-2022 走看看