python 字符串操作

  str1 = "  nice to \t   \n meet  you  \t       \n      "

  str2 = "9999  nice to \t  9  \n meet  you  \t       \n      99999999"

  str3 = "nice to meet you"

  (1)将全部由字符组成的列表合拼成一个字符串

    list1 = ['m', 'e', 'y', 'u']

    或list1 = list("meet you")

    "".join(list1)

    注1:可指定合成字符串的链接符,例如"|".join(list1)

    注2:若列表中有非字符元素,该方法会报错。可通过str()方法,将元素转换,例如str(1)

  (2)将非字符转换成字符或字符串

    str(123456123)

  (3)从键盘输入的内容默认作为字符串处理

    name = input("Please input your name : ")

    注:字符串"Please input your name : "为输入提示符

    若将输入的内容转换成其他数据类型,需要相应转换

    例如: age = int(input("Please input your age : "))

    可通过type(name)方法判定数据类型。

  (4)链接字符串生成新字符串

    可使用str = str1 + str2

    据说python中使用“+”链接符,会影响效率,但从功能实现上没有问题。

  (1)删除字符串开头和末尾的空白字符

    str1.strip()

    注:空白符包括: 若干空格,tab键(\t ),换行符( \n)

  (2)删除字符串开头和末尾的制定字符

    str2.strip('9') 

  (3)删除字符串

    del str2

  (1) 字符全部大写

    str3.upper()

  (2)字符全部小写

    str3.upper().lower()

  (3)字符串首字符大写

    str3.capitalize()

  

  (1-1)查找字符串中某字符或字符串的下标(第一个满足条件的某字符或字符串)(推荐)   

    str1.find('meet')

    注:'meet'为字符串中的字符串

    注:该方法,查找元素没有,会返回-1。

  (1-2)查找字符串中某字符或字符串的下标(第一个满足条件的某字符或字符串)(不推荐使用)

     str1.index('e')

    注:'e'为字符串中的字符

    注:该方法,查找元素没有,会报错。

  (2)统计字符串中某字符或字符串的个数

     str1.count('e')

     注:'e'为字符串中的元素

  (3) 计算字符串的总元素个数

     len(str1)

  (4)判断某字符或字符串是否在字符串中存在

     if 'e' in str1:

       print("'e' in str1")

  (5)字符串是否是数字组成

    str1.isdigit()

  (6)字符串是否是数字和字母组成

    str1.isalnum()

  (7)字符串是否以某字符或字符串开始

    str1.startswith("meet")

  (8)字符串是否以某字符或字符串结尾

    str1.endswith("you")

其他

  (1) 切片 

  a)不写步长,默认为1

  str3 = "nice to meet you"

  str3[1:6]    #'ice t',虎头蛇尾(下标从1到5)

  str3[:3]    #'nic' 下标从0到2

  str3[8:]    #'meet you' 下标从8到最后

  b)指定步长

  str3[1:6:2]   #'iet'

  注:2表示步长为2

  c)str3[:i] + str3[i:] == str3

  d) str3 与 str3[:] 的字符串内容相同,同时他们是一个字符串。

  可以通过 id(str3) , id(str3[:]) 确认

  原因:字符串为常量,一旦生成,不可修改。

  (2)格式化

  方式一:

    msg1 = "hi {name}, his {age}"

    msg1.format( name='Li', age=20)

    注:name和age是变量

  方式二:

    msg2 = "hi {0}, his {1}"

    msg2.format( 'Li', 20)

  方式三:

    print("age=%s, name=%s" % (25, 'zh'))

    print("name=%s" % 'zh')

  (3)输出格式布局

  a)居中打印信息

   "start test".center(60, '-')

   效果是-------------------------start test-------------------------

  b)打印某字符若干

  print("-" * 60)

  (4)字符分割

  a) 默认以空白符分割

   str3.split()

  b)指定分割符

   str3.split('t')

  注:分割的结果为一个列表

posted @ 2016-09-16 16:18  12兵哥哥  阅读(234)  评论(0编辑  收藏  举报