name = 'hello,world,WORLD! 123,你好'

#capitalize()
#首字母大写,其他全部变成小写,没有iscapitalize()方法
print(name.capitalize())
#Hello,world,world! 123

#title(),istitle()
#把每个单词的首字母都变成大写
print(name.title())
#Hello,World,World! 123,你好
#判断是否是首字母大写
print(name.istitle())
#False

#upper(),isupper()
#全部变成大写
print(name.upper())
#HELLO,WORLD,WORLD! 123
#判断是否全是大写
print(name.isupper())
#False

#casefold()
#全部变成小写,没有iscasefold()方法
print(name.casefold())
#hello,world,world! 123

#lower(),islower()
#全部变成小写
print(name.lower())
#hello,world,world! 123
#判断是否全是小写
print(name.islower())
#False

#casefold()和lower()的区别,lower()只对 ASCII 也就是 'A-Z'有效,但是其它一些语言里面存在小写的情况就没办法了。
#文档里面举得例子是德语中'ß'的小写是'ss'(这个我也不懂):
#s = 'ß'
#s.lower() # 'ß'
#s.casefold() # 'ss'
#总结来说,汉语 & 英语环境下面,继续用 lower()没问题;要处理其它语言且存在大小写情况的时候再用casefold()。

#center()
#总共需要占40个字符串位置,name在居中,如果不够就用-补充,如果字符串够了就不改变
print(name.center(40,'-'))
#-------hello,world,WORLD! 123,你好--------

#ljust(),rjust()
#总共需要占40个字符串位置,name居左,其余用-补齐
print(name.ljust(40,'-'))
#hello,world,WORLD! 123,你好---------------

#总共需要占40个字符串位置,name居右,其余用-补齐
print(name.rjust(40,'-'))
#---------------hello,world,WORLD! 123,你好

#count()
#统计o的个数
print(name.count('o'))
#2
#统计下标为0到5中的o的个数
print(name.count('o',0,5))
#1

#index(),find()
print(name.index('o'))
print(name.find('o'))
#2个方法都是从左开始查o在name中的位置,如果有则返回下标,如果没有则find返回-1,index会报错
#4
#从右开始查找o在name中的位置,如果有则返回下标,如果没有则find返回-1,index会报错
print(name.rfind('o'))
print(name.rindex('o'))

#startswith()
#判断是否以某个字符或字符串开关
print(name.startswith('h'))

#True

#endswith()
#判断是否以某个字符或字符串结尾
print(name.endswith('h'))
#False
#判断是否以你好结尾
print(name.endswith('你好'))
#True

#expandtabs()
#把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是8。
name1 = 'a\tb\tc\td'
print(name1)
#a b c d
print(name1.expandtabs(0))
#abcd
print(name1.expandtabs(4))
#a b c d
print(name1.expandtabs(8))
#a b c d
print(name1.expandtabs(10))
#a b c d

#isalpha()
#判断name是否全是英文字母
print(name.isalpha())
#Flase
print('abc'.isalpha())
#True

当变量是汉字时判断可能有误,需要指定编码格式
a = '哈哈'
print(a.isalpha())
True
print(a.encode('utf-8').isalpha())
False

#isdigit()
#判断是否全是正整数字,只能是正整数,不能有小数点或负数
print('abc123'.isdigit())
#Flase
print('123'.isdigit())
#True

#isalnum()
#判断是否只包含字母和数字,不能包含汉字或特殊字符等
print(name.isalnum())
#False
print('admin123'.isalnum())
#True

#isdecimal()
#判断字符串是否只包含十进制字符
print('admin123'.isdecimal())
#Flase
print('0123'.isdecimal())
#True

#python中str函数isdigit、isdecimal、isnumeric的区别
num1 = '1'
print(num1.isdigit())
#True
print(num1.isdecimal())
#True
print(num1.isnumeric())
#True

num2 = '四'
print(num2.isdigit())
#False
print(num2.isdecimal())
#False
print(num2.isnumeric())
#True

import unicodedata
print([unicodedata.numeric(i) for i in ["〇","零","一","壱","二","弐","三","参","四","五","六","七","八","九","十","廿","卅","卌","百","千","万","亿"]])
#[0.0, 0.0, 1.0, 1.0, 2.0, 2.0, 3.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 20.0, 30.0, 40.0, 100.0, 1000.0, 10000.0, 100000000.0]
#
print([int(unicodedata.numeric(i)) for i in ["〇","零","一","壱","二","弐","三","参","四","五","六","七","八","九","十","廿","卅","卌","百","千","万","亿"]])
#[0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 100, 1000, 10000, 100000000]
#

#isspace()
#判断字符串是否只包含空格
print('1 2 3'.isspace())
#False
print(' '.isspace())
#True

#isidentifier()
#判断是否是一个合法的变量名
print('*'*50)
print('a_1'.isidentifier())
#True

#join()
#使用.将后面的字符串连接起来
print('.'.join('abcd'))
#a.b.c.d
print('|'.join(['a','b','c','d']))
#a|b|c|d

>>> "-".join("GNU/Linux is great".split())
'GNU/Linux-is-great'

#strip(),lstrip(),rstrip()
#将两边的空格和换行符都切除
print(' hello,world\n'.strip())
#hello,world

#只将左边的空格和换行符切除
print(' hello,world\n'.lstrip())
#hello,world
#空行

#只将右边的空格和换行符切除
print(' hello,world\n'.rstrip())
# hello,world

#删除两端的字符串
name = 'abcdeba'
print(name.strip('ab'))
#cde

#translate()
#定义一个明文字符串from_str,和一个加密字符串to_str,定义两个字符串的转换关系,要求2个字符串长度必须相等
#将'abcd345'中存在的可转换字符进行转换,没有转换关系的字符保留
from_str = 'admin123'
to_str = '!@#$%^&*'
trans_table = str.maketrans(from_str,to_str)
print('abcd345'.translate(trans_table))
#!bc@*45

#partition()
#将字符串以最左面的o为中间值进行分隔,分隔成3段
print('helloworld'.partition('o'))
#('hell', 'o', 'world')

#rpartition()
#将字符串以最右面的o为中间值进行分隔,分隔成3段
print('helloworld'.rpartition('o'))
#('hellow', 'o', 'rld')

#replace()
#替换字符,将l替换成L
print('hello,world'.replace('l','L'))
#heLLo,worLd

#替换字符,将l替换成L且只替换1次
print('hello,world'.replace('l','L',1))
#heLlo,world

#split(),splitlines()
#以o为分隔进行切片,o自身会被切除
print('hello\nworld !'.split('o'))
#['hell', '\nw', 'rld !']

#可以指定切片次数
print('hello\nworld !'.split('o',1))
['hell', '\nworld !']

#默认以空格或者换行符进行切片
print('hello\nworld !'.split())
#['hello', 'world', '!']

a = '序号       部门      人数    平均年龄     备注'
print(a.split())
#['序号', '部门', '人数', '平均年龄', '备注']  有多个空格也可以一次分割

#以换行符进行切片
print('hello\nworld !'.splitlines())
#['hello', 'world !']

#zfill()
#占40个字符,不够的用0补齐
print('heLlo,world'.zfill(40))
#00000000000000000000000000000heLlo,world

swapcase()
#返回字符串大小写交换后的版本
s = "I am A pRoGraMMer"
print(s.swapcase())
#'i AM a PrOgRAmmER'

回文检查
回文是一种无论从左还是从右读都一样的字符序列。比如 “madam”。在这个例子中,我们检查用户输入的字符串是否是回文,并输出结果。
s = input("Please enter a string: ")
z = s[::-1]
if s == z:
print("The string is a palindrome")
else:
print("The string is not a palindrome")

day08-字符串操作的更多相关文章

  1. day08——文件操作

    day08 文件操作: open() :打开 f (文件句柄)= open("文件的路径(文件放的位置)",mode="操作文件的模式",encoding=&q ...

  2. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

  3. shell编程常用的截取字符串操作

    1.          常用的字符串操作 1.1.           替换字符串:$ echo ${var/ /_}#支持正怎表达式 / /表示搜索到第一个替换,// /表示搜索到的结果全部替换. ...

  4. php字符串操作集锦

    web操作, 主要就是对字符文本信息进行处理, 所以, 字符串操作几乎占了很大一部分的php操作.包括 注意strstr 和 strtr的区别? 前者表示字符串查找返回字符串,后者表示字符串中字符替换 ...

  5. java 字符串操作和日期操作

    一.字符串操作 创建字符串 String s2 = new String("Hello World"); String s1 = "Hello World"; ...

  6. [No000078]Python3 字符串操作

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- '''Python 字符串操作 string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分 ...

  7. Python 字符串操作及string模块使用

    python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: python的字符串属性函数 python的string模块 1.字符串属性方法操作: 1.>字符串格式输出对 ...

  8. C语言字符串操作总结大全

    1)字符串操作 strcpy(p, p1)  复制字符串  函数原型strncpy(p, p1, n)   复制指定长度字符串  函数原型strcat(p, p1)   附加字符串  函数原型strn ...

  9. c# 字符串操作

    一.字符串操作 //字符串转数组 string mystring="this is a string" char[] mychars=mystring.ToCharArray(); ...

  10. C语言字符串操作总结大全(超详细)

    本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作  strcpy(p, p1) 复制字符串  strncpy(p, p1, n) 复制指定长度字符串  strcat( ...

随机推荐

  1. 【推荐】asp.net 页面的生命周期

    当一个页面请求发送到WEB服务器时,不论该事件是由页面提交还是由页面重定向而激发的,页面在其被创建到释放的过程中都会运行一系列的事件.一个ASP.NET页面从被创建到释放的过程包含10个事件. (1) ...

  2. kafka产生的数据通过Flume存到HDFS中

    试验目标: 把kafka的生产者发出的数据流经由Flume放到HDFS来存储. 试验环境: java:1.8 kafka:2.11 flume:1.6 hadoop:2.8.5 试验流程: 1.进入z ...

  3. [UE4]蓝图节点的组织

    1.将选择的多个蓝图节点变成一个节点,可以给这个节点命名:还可以随时展开这个节点 2.也可以将选中的蓝图节点转换成一个函数或者一个宏.当然也是可以随时展开成原来的样子. 3.变成节点的话,会生成一个子 ...

  4. [UE4]制作按钮小技巧

    Normal和Pressed一样的图片和大小,Hovered也是一样的图片但是大小比Normal稍微大一点,这样点击按钮的时候就会产生按钮被按下去的感觉.

  5. Python首次安装后运行报错(0xc000007b)的解决方法

    最近在安装完Python后运行发现居然报错了,错误代码是0xc000007b,于是通过往上查找发现是因为首次安装Python缺乏VC++库的原因,下面通过这篇文章看看如何解决这个问题吧.   错误提示 ...

  6. Linux内核学习笔记二——进程

    Linux内核学习笔记二——进程   一 进程与线程 进程就是处于执行期的程序,包含了独立地址空间,多个执行线程等资源. 线程是进程中活动的对象,每个线程都拥有独立的程序计数器.进程栈和一组进程寄存器 ...

  7. Keras 实现一个简单GAN

    Keras 实现一个简单GAN 代码中需提供: Loss Function  参见Keras 或者 Tensorflow 文档 model_param_matrix   反向调整的模型参数/参数矩阵 ...

  8. 本地IP,掩码,网关,DNS设置

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  9. HBase脚本命令

    1. 脚本使用小结1.开启集群 start-hbase.sh 2.关闭集群 stop-hbase.sh 3.开启/关闭[所有]的regionserver.zookeeper hbase-daemons ...

  10. 【Unix网络编程】chapter3套接字编程简介

    chapter3套接字编程简介3.1 概述 地址转换函数在地址的文本表达和他们存放在套接字地址结构中的二进制值之间进行转换.多数现存的IPv4代码使用inet_addr和inet_ntoa这两个函数, ...