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

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

>>> type(s1)

<type 'str'>

>>> type(2)

<type 'int'>

>>> type("'dsfdsjk'")

<type 'str'>

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

>>>

Python字符串基础操作的更多相关文章

  1. Python文件基础操作(IO入门1)

    转载请标明出处: http://www.cnblogs.com/why168888/p/6422270.html 本文出自:[Edwin博客园] Python文件基础操作(IO入门1) 1. pyth ...

  2. Python字符串切片操作知识详解

    Python字符串切片操作知识详解 这篇文章主要介绍了Python中字符串切片操作 的相关资料,需要的朋友可以参考下 一:取字符串中第几个字符 print "Hello"[0] 表 ...

  3. Python字符串基础一

    下一篇:Python 序列通用操作介绍 写在前面 下学期开始上计算机网络的课程,现在已经在看相关书籍,希望结合python写出一个网络爬虫程序.利用学习C++后的空余时间来看看Python并在这里总结 ...

  4. Python 字符串大小写操作

    #coding=utf-8 #python中字符串的操作 # 字符串的大小写 s='hello_wOrld_oF_you' upper_str = s.upper() print('全部大写: ',u ...

  5. Python字符串的操作

    字符串常用操作 name = "my name is alex" # 注: python中方法名前后带下划线的是供内部使用的方法, 如方法__dir__(). 这种方法是不对外提供 ...

  6. day7 python字符串的操作及方法

    1.字符串 1.1 字符串的操作 # 1.字符串的拼接 strvar = "我爱" + "中国" # 2.字符串的重复 strvar = "今天下午2 ...

  7. python字符串基础知识

    1.python字符串可以用"aaa",'aaa',"""aaa""这三种方式来表示 2.python中的转义字符串为" ...

  8. Python—字符串的操作

    字符串的操作 变量: 变量只能是 字母,数字或下划线的任意组合,但首个字符不能为数字,且不能有空格 以下关键字不能声明为变量: and ,as, assert, break ,class ,conti ...

  9. python字符串的操作(去掉空格strip(),切片,查找,连接join(),分割split(),转换首字母大写, 转换字母大小写...)

    #可变变量:list, 字典#不可变变量:元祖,字符串字符串的操作(去掉空格, 切片, 查找, 连接, 分割, 转换首字母大写, 转换字母大小写, 判断是否是数字字母, 成员运算符(in / not ...

随机推荐

  1. hugo-最好用的静态网站生成器

    hugo最好用的静态网站生成器 Hugo是由Go语言实现的静态网站生成器.简单.易用.高效.易扩展.快速部署. 快速开始 安装Hugo 1. 二进制安装(推荐:简单.快速) 到 Hugo Releas ...

  2. Kindeditor(JSP)& 上传目录不存在

    一.基本配置 Kindeditor是一款富文本编辑器,作用跟博客园写文章用的这个编辑器一样,都是为了让文本加入各种各样的修饰元素. 使用方法如下,解压缩,把期中的ASP\NET\PHP文件夹都删除,然 ...

  3. Bootstrap系列 -- 22. 按钮

    Bootstrap框架首先通过基础类名“.btn”定义了一个基础的按钮风格,然后通过“.btn-default”定义了一个默认的按钮风格.默认按钮的风格就是在基础按钮的风格的基础上修改了按钮的背景颜色 ...

  4. C#中的yield return与Unity中的Coroutine(协程)(下)

    Unity中的Coroutine(协程) 估计熟悉Unity的人看过或者用过StartCoroutine() 假设我们在场景中有一个UGUI组件, Image: 将以下代码绑定到Image using ...

  5. [BZOJ 1297][SCOI 2009]迷路(矩阵快速幂)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1297 分析:如果每条边的边权都是1,那么就相当于对邻接矩阵自乘T次(因为写一下递推式子 ...

  6. C#基础知识系列四(运算符汇总)

    前言  本节主要来讲C#中的各种运算符.主要包括is运算符.as运算符.checked和unchecked运算符.sizeof运算符.空接合运算符(??).&和&&.移位运算符 ...

  7. 20步打造最安全的NGINX WEB服务器

    Nginx 是一个轻量级的,高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器.它运行在UNIX,GNU /linux,BSD 各种版本,Mac OS X,Solaris和Wind ...

  8. [转]不再以讹传讹,GET和POST的真正区别

    原文地址:http://www.nowamagic.net/librarys/veda/detail/1919 如果有人问你,GET和POST,有什么区别?你会如何回答? 我的经历 前几天有人问我这个 ...

  9. [转]Java中的对象和对象引用实例浅析

    在Java中,有一组名词经常一起出现,它们就是“对象和对象引用”,很多朋友在初学Java的时候可能经常会混淆这2个概念,觉得它们是一回事,事实上则不然.今天我们就来一起了解一下对象和对象引用之间的区别 ...

  10. Git环境的搭建及使用

    管理工具 1. Git环境的搭建 a.下载Git installer,地址:http://git-scm.com/downloads a1.参考文档地址:http://www.open-open.co ...