1. isalnum()判断是否都是有效字符串

    >>> ev1 = 'evilxr'
    >>> ev2 = 'ev1il2xr3'
    >>> ev3 = '.,/!@#'
    >>> a = ev1.isalnum()
    >>> print a
    True
    >>> b = ev2.isalnum()
    >>> print b
    True
    >>> c = ev3.isalnum()
    >>> print c
    False
  2. isalpha和isdigit可分别判断字符串里是否都是由字符或者数字组成
    >>> ev1.isalpha()
    True
    >>> ev2.isalpha()
    False
    >>> ev2.isdigit()
    False
    >>> ev3.isdigit()
    False
    >>> ev2.isalpha()
    False
    >>> ev4.isdigit()
    True
    >>> ev4.isalpha()
    False
    >>>

    可以用来检测密码的强度~

    >>> xr = raw_input('Please input your password:')
    Please input your password:evilxr1234
    >>> xr.isalpha()
    False
    >>> xr.isdigit()
    False
    >>> xr.isalnum()
    True
    >>>
  3. 判断字符的大小写
    >>> xr = raw_input('Please input your password:')
    Please input your password:EVILXR
    >>> xr.islower() #xr的内容是小写的吗?
    False
    >>> xr.isupper() #xr的内容是大写的吗?
    True
    >>>
  4. 判断是否全由空格组成
    >>> xr1 = '          '
    >>> xr1.isspace()
    True
    >>> xr2 = ' evilxr '
    >>> xr2.isspace()
    False
    >>>
  5. 字符的大小写转换
    >>> 'evilxr'.upper()    #将小写字符全转换为大写
    'EVILXR'
    >>> 'HEY,WELCOME TO MY BLOG!'.lower() #将大写字符全转换为小写
    'hey,welcome to my blog!'
    >>> 'Hey,My name is Evilxr!'.upper() #大小写混合的也能转
    'HEY,MY NAME IS EVILXR!'
    >>> 'Hey,My name is Evilxr!'.lower()
    'hey,my name is evilxr!'
    >>>
  6. 去掉字符串左面或者右面的空格
    [root@localhost test]# cat 1.py
    ev1 = ' ev il xr '
    print ev1
    ev2 = ev1.lstrip() #去掉左边
    print ev2
    ev3 = ev1.rstrip() #去掉右边
    print ev3 [root@localhost test]# python 1.py
    ev il xr
    ev il xr
    ev il xr
  7. 判断字符串的开始和结束
    [root@localhost test]# cat 2.py
    s1 = '.com'
    s2 = '.cn'
    s3 = 'www.'
    s4 = 'www.evilxr.com' if s4.startswith(s3):
    print 'startswith www'
    else:
    print 'start is not www'
    if s4.endswith(s1):
    print 'endswith is com'
    elif s2.endswith(s2):
    print 'endswith is cn'
    else:
    print 'endswith is not com and cn'
    [root@localhost test]# python 2.py
    startswith www
    endswith is com
    [root@localhost test]#
     
  8. replace()函数的使用,值拷贝
    >>> ev = 'www.evilxr.com'
    >>> id (ev)
    3078278264L
    >>> s1 = ev.replace('e','E')
    >>> print s1
    www.Evilxr.com
    >>> id(s1)
    3078278584L
    >>> ev1 = ev.replace('ev','EV')
    >>> print ev1
    www.EVilxr.com
    >>> id(ev1)
    3078278504L
    >>> ev2 = ev.replace('evilxr','evilxr.upper()')#upper()被当成了要被替换内容的一部分
    >>> print ev2
    www.evilxr.upper().com
    >>> ev3 = ev.replace('evilxr','evilxr'.upper())#正确的应该是这个
    >>> print ev3
    www.EVILXR.com
    >>> id(ev2)
    3078232832L
    >>> id(ev3)
    3078278704L
    >>>
    #用切片看下
    >>> ev = 'evilxr'
    >>> ev1 = ev[:3]
    >>> print ev1
    evi
    >>> ev2 = ev[4:]
    >>> print ev2
    xr
    >>> ev3 = ev[:3]+'L'+ev[4:]
    >>> print ev3
    eviLxr
  9. 域名匹配
    re.match(r'^(?:[a-zA-Z0-9][a-zA-Z0-9\-]*\.)*([a-zA-Z0-9][a-zA-Z0-9\-]*?\.[a-zA-Z]{2,6}(?<!\.cn)(?:\.cn)?)$', 'a.b.124.ttt.com.cn').groups()
    
  10. python的json.dumps输出中文,指定ensure_ascii参数为False
    Signature: json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding='utf-8', default=None, sort_keys=False, **kw)
    
    --------------------------------------------------------------------------------------------------------
    In [11]: print json.dumps({'test':"西戎的博客园"},ensure_ascii=False)
    {"test": "西戎的博客园"} In [12]: print json.dumps({'test':"西戎的博客园"})
    {"test": "\u897f\u620e\u7684\u535a\u5ba2\u56ed"}

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

  1. Python 字符串操作

    Python 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) 去空格及特殊符号 s.strip() .lstrip() .rstrip(',') 复制字符 ...

  2. python字符串操作实方法大合集

    python字符串操作实方法大合集,包括了几乎所有常用的python字符串操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下:   #1.去空格及特殊符号 s.st ...

  3. 转 Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    转自: http://www.cnblogs.com/huangcong/archive/2011/08/29/2158268.html 黄聪:Python 字符串操作(string替换.删除.截取. ...

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

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

  5. python字符串操作总结

    python中有各种字符串操作,一开始python有个专门的string模块,要使用需先import string.后来从python2.0开始,string方法改用str.method()形式调用, ...

  6. 『无为则无心』Python序列 — 17、Python字符串操作常用API

    目录 1.字符串的查找 @1.find()方法 @2.index()方法 @3.rfind()和rindex()方法 @4.count()方法 2.字符串的修改 @1.replace()方法 @2.s ...

  7. python 字符串操作。。

    #字符串操作 以0开始,有负下标的使用0第一个元素,-1最后一个元素,-len第一个元 素,len-1最后一个元素 name= "qwe , erw, qwe "print(nam ...

  8. Python 字符串操作,截取,长度

    1.字符串操作: 字符串长度: s = "; slen = len(s); 字符串截取: print s[:-:-] #截取,逆序隔1个取一个字符 print s[:-:-] #截取,逆序隔 ...

  9. python字符串操作、文件操作,英文词频统计预处理

    1.字符串操作: 解析身份证号:生日.性别.出生地等. 凯撒密码编码与解码 网址观察与批量生成 解析身份证号:生日.性别.出生地等 def function3(): print('请输入身份证号') ...

  10. python字符串操作2

    在python有各种各样的string操作函数.在历史上string类在python中经历了一段轮回的历史.在最开始的时候,python有一个专 门的string的module,要使用string的方 ...

随机推荐

  1. 从协议VersionedProtocol开始3——ClientProtocol、DatanodeProtocol、NamenodeProtocol、RefreshAuthorizationPolicyProtocol、RefreshUserMappingsProtocol

    1.ClientProtocol这个玩意的版本号是61L:DatanodeProtocol 是26L:NamenodeProtocol是 3L;RefreshAuthorizationPolicyPr ...

  2. 使用AppCan自带的升级功能实现移动端升级

    1.需要在AppCan项目的config.xml文件中设置“更新地址”,即在执行uexWidget.checkUpdate();时访问的后台页面地址,比如: http://192.168.0.10:8 ...

  3. vector中的元素删除

    删除vector中的元素,最容易的方法就是使用vector的erase()函数. vector vec;for ( vector::iterator iter = vec.begin(); iter! ...

  4. opencv 工程的保存

    一个项目的保存,只要保存工程底下的.CPP  .h   .dll  .lib  输入输出文件即可 最终保存的文件

  5. MapReduce基础

    这篇文章翻译自Yahoo的Hadoop教程,很久之前就看过了,感觉还不错.最近想总结一下以前学的东西,看到现在关于Hadoop的中文资料还比较少,就有了把它翻译出来的想法,希望能帮助到初学者.这只是Y ...

  6. iOS开发之UITableView使用总结

    什么是UITableView 在众多移动应用中,能看到各式各样的表格数据 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView UITableView继承自UIScrollVie ...

  7. mac终端下运行shell脚本

    最近公司要弄关于IOS下自动化打包的东西,研究了用命令行的形式来代替手工的方式来处理.即: 用xcodebuild 和xcrun  语法来进行脚本实现.    但由于语法的结构够了,另一个问题产生了, ...

  8. iOS弹框

    IOS 弹框 如果直接弹出一个自定义的视图 可以选用第三方: MJPopup 弹出: if(!bandview) { bandview=[[[NSBundle mainBundle]loadNibNa ...

  9. Android res/raw vs assets

    common: 1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制. difference: 1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源I ...

  10. ISO c++11 does not allow conversion from string literal to 'char*'

    http://stackoverflow.com/questions/9650058/deprecated-conversion-from-string-literal-to-char