`
810364804
  • 浏览: 782433 次
文章分类
社区版块
存档分类
最新评论

Python 学习入门(18)—— 字符串

 
阅读更多

Python判断字符串只包含数字

一种方法是 a.isdigit(),但这种方法对于包含正负号的数字字符串无效,更为准确的为:

#!/usr/bin/python
# -*- coding:utf-8 -*-
#
# http://blog.ithomer.net

import sys
import math

# 判断是否为数字
def isNum(value):
    try:
        value + 1
    except TypeError:
        return False
    else:
        return True

# 判断是否为数字
def isNum2(value):
    try:
        x = int(value)
    except TypeError:
        return False
    except ValueError:
        return False
    except Exception, e:
        return False
    else:
        return True


def test1():
    
    a = "123abcDE"
    print a.isalnum()       # True, 所有字符都是数字或者字母

    a = "abcDE"
    print a.isalpha()       # True, 所有字符都是字母

    a = "123.3"
    print a.isdigit()       # False, 所有字符都是数字

    a = "abcde"
    print a.islower()       # True, 所有字符都是小写

    a = "ABCDE"
    print a.isupper()       # True, 所有字符都是大写

    a = "Abcde"
    print a.istitle()       # True, 所有单词都是首字母大写,像标题

    a = "\t"
    print a.isspace()       # True, 所有字符都是空白字符、\t、\n、\r

    arr = (1, 2.1, -3, -4.5, '123a', 'abc', 'aBC', 'Abc', 'ABC', '\t')
    for a in arr:
        print a,isNum(a)

    '''
    1 True
    2.1 True
    -3 True
    -4.5 True
    123a False
    abc False
    aBC False
    Abc False
    ABC False
        False
    '''

    for a in arr:
        print a,isNum2(a)
    '''
    1 True
    2.1 True
    -3 True
    -4.5 True
    123a False
    abc False
    aBC False
    Abc False
    ABC False
        False
    '''
这样更准确一些,适用性也更广。但如果你已经确信没有正负号,使用字符串的isdigit()方法则更为方便。


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

def test2():

    # 复制字符串 
    str1 = "ithomer.net"
    str2 = str1
    str1 = "blog"
    print str1, str2        # blog ithomer.net

    # 连接字符串
    str1 = "ithomer.net"
    str2 = "blog."
    str2 += str1
    print str1, str2        # ithomer.net blog.ithomer.net
    
    # 查找字符
    str1 = "ithomer.net"
    str2 = ".net"
    pos = str1.index(str2)
    print pos               # 7

    # 比较字符串
    str1 = "blog.ithomer.net"
    str2 = "forum.ithomer.net"
    pos = cmp(str1, str2)
    print pos               # -1

    # 是否包含指定的字符
    str1 = "blog.ithomer.net"
    str2 = ".ithomer."
    pos = len(str1 and str2)
    print pos               # 9

    # 字符串长度
    str1 = "blog.ithomer.net"
    pos = len(str1)
    print pos               # 16

    # 字符串大小写转换
    str1 = "blog.ithomer.net"
    str2 = "BLOG.ithomer.NET"
    print str1.upper()      # BLOG.ITHOMER.NET
    print str2.lower()      # blog.ithomer.net

    # 追加指定长度的字符串
    str1 = "blog.ithomer.net"
    str2 = "1234567"
    n = 3
    str1 += str2[0:n]
    print str1,str2         # blog.ithomer.net123 1234567

    # 字符串指定长度比较
    str1 = "blog.ithomer.net"
    str2 = "blog.ithomer.NET"
    n = 11
    print cmp(str1[0:n], str2[0:n])     # 0

    # 复制指定长度的字符
    str1 = "blog.ithomer.net"
    str2 = ""
    n = 12
    print str1[0:n]         # blog.ithomer

    # 将字符串前n个字符替换为指定的字符
    str1 = "blog.ithomer.net"
    ch = 'r'
    n = 3
    print n*ch + str1       # rrrblog.ithomer.net

    # 扫描字符串 
    sStr = 'cekjgdklab'   
    sStr1 = 'gka'   
    nPos = -1 
    for c in sStr1: 
        print c
    print nPos   

    # 翻转字符串 
    str1 = "ithomer.net"
    str2 = str1[::-1]
    print str1,str2         # ithomer.net ten.remohti

    # 查找字符串
    str1 = "ithomer.net"
    str2 = ".net"
    pos = str1.find(str2)
    print pos               # 7
    
    # 分割字符串
    str1 = "blog.ithomer.net"
    str2 = "."
    str3 = str1[str1.find(str2) + 1:]
    print str3              # ithomer.net
    print str1.split(str2)  # ['blog', 'ithomer', 'net']

    # 连接字符串
    str1 = ['blog', 'ithomer', 'net']
    str2 = "."
    str3 = str2.join(str1)
    print str3              # blog.ithomer.net

    # 只显示字母与数字
    str1 = "521.ithomer.NET $ @ # ! 1314"
    fmt = "abcdefghijklmnopqrstuvwxyz0123456789"
    for c in str1:
        if not c in fmt:
            str1 = str1.replace(c,'')
    print str1              # 521ithomer1314



参考推荐:

Python字符串操作

Python difflib


分享到:
评论

相关推荐

    Python入门03——字符串

    1、字符串的定义  单引号、双引号、三引号都可以用来定义字符串。 >>> s1 = 'abc' >>> s2 = "abc" >>> s3 = '''abc''' >>> print(s1,s2,s3) abc abc abc >>> print(id(s1),id(s2),id(s3)) 2054612827504 ...

    python入门——字符串

    字符串是 Python 中最常用的数据类型。我们可以使用引号(‘或”)来创建字符串。 单引号双引号都可以。 如何定义字符串? 创建字符串很简单,只要为变量分配一个值即可。 以下有四种方式: #第一种 a = 'today is ...

    Python语言入门——异常

    本文中学习了异常——怎样用try来捕获它,以及怎样用raise来引发它。异常由字符串或类来标识。还学习了常见的异常惯用法,错误处理,各种捕获和匹配异常的方式。

    【Python入门学习】2.Python字符串相关操作“:查找、拼接、拆分、替换、判断等

    从严格意义上来说,Python中的 字符串是就是由零个或多个字符组成的不可变序列。 序列中的元素包含一个从左到右的顺序——序列中的元素根据它们的相对位置进行存储和读取。其他类型的序列还包括列表和元组(其他篇章...

    Python入门——基础篇

    Python语言入门,基础篇,思维导图格式,精简版(输入输出、数据类型、条件语句、循环、字符串等常用操作、文件操作、函数、类和对象,异常、模块和包),仅供参考

    Python编程入门经典

    1.3 开始使用Python——字符串 6 1.3.1 字符串概述 6 1.3.2 为什么需要引号 6 1.3.3 为什么有3种类型的引号 7 1.3.4 使用print()函数 7 1.3.5 理解不同的引号 8 1.4 串联两个字符串 10 1.5 用不同的方法串联字符串 ...

    Python入门——Day4(元组,字符串格式化,转义字符,format函数)

    2.字符串格式化符号含义 3.格式化操作符辅助命令 4.转义字符及其含义 5.format函数 1.元组(tuple) 创建与访问元组 >>> tuple1 = (1,2,3,4,5,6,7)#创建元组 >>> tuple1[1]#通过索引访问元组 2 >>> temp = (1)#元组...

    python实践教程答案-EduCoder实践课程-Python程序设计入门答案.pdf

    ########## Begin ########## print("Hello Python") ########## End ########## 2、 Python ⼊门之字符串处理 第1关:字符串的拼接:名字的组成 # coding=utf-8 # 存放姓⽒和名字的变量 first_name = input() last...

    Python脚本入门学习经典手册.doc

    Python脚本使用详解 目录 写在前面的话2 前言2 一、Python语言基础3 1数学运算符3 2字符串操作4 3模块的使用(Modules)5 4使用def构建函数6 5流程控制结构:If,While,For6 6简单输入和输出9 二、ArcGIS&Python10 ...

    Python入门01——命名规则和运算符

     如下图中所示,给变量 s 赋值为 ‘apple’,此时 s 的数据类型就是字符串类型,其中保存的就是内存中 ‘apple’ 的内存地址。当给 s 重新赋值为 ‘melon’ 时,s 中就保存的是 ‘melon’ 的内存地址。然后

    Python入门——组合数据类型

    文章目录第一部分 列表 list1.1 列表的表达 []另一种生成方式:list(可迭代对象)range()1.2 列表的性质列表的长度——len(列表)列表的索引——与同为序列类型的字符串完全相同列表的切片——与字符串完全相同1.3 ...

    Python入门11——内部函数和nonlocal关键字

    对于不可变类型变量(数字、字符串、元组等)可直接使用,但是若要修改则需要使用关键字 nonlocal 关键字声明。 1、内部函数的权限问题 (1)内部函数可以访问外部函数的变量; (2)可以修改外部函数的可变类型变量...

    Python 科学计算——numpy 篇,pandas 篇,scipy 篇。

    numpy 篇: numpy 之 ndarray 对象.mp4 numpy 之 ufunc 运算.mp4 numpy之矩阵运算.mp4 Python 科学计算介绍.mp4 ...pandas 库之字符串提取与操作.mp4 scipy 篇: 常微分方程组.mp4 非线性方程组.mp4 数值积分.mp4

    Python学习 | 一个JAVA程序员两天的Python入门笔记

    文章目录vlog正文入门基础注释算数运算符及优先级程序执行原理变量概念和定义方式变量的命名变量的输入和输出数据类型数值型非数值型列表元组列表与元组的互相转换字典字符串在Python中所有非数字型变量都支持的特点...

    Python入门——环境的搭建和变量及数据类型解析

    一.python的入门学习–环境的搭建 学习python首先我们要进行环境的搭建 当然,这个环境必须是官方网站提供的cpython解释器,这里提供官网链接 www.python.org 本次我选择的是最新的3.8.2版本64位的安装包 然后呢我们...

    Python入门经典.doc

    Python入门 原著 Guido van Rossum 翻译 李东风 第一章 介绍 第二章 解释程序的使用 第三章 基本使用 第四章 流程控制 第五章 Python数据结构 第六章 模块 第七章 输入输出 第八章 错误与例外 第九章 类 第十章 ...

    python基础教程之基本内置数据类型介绍-电脑资料.docx

    电脑资料 Python基本内置数据类型有哪些 一些基本数据类型,比如:整型(数字)、字符串、元组、列表、字典和布尔类型, 随着学习进度的加深,大家还会接触到更多更有趣的数据类型,python初学者入门时先了解这几种...

    Python简明入门教程

    本文实例讲述了Python简明入门教程。分享给大家供大家参考。具体如下: 一、基本概念 1、数 在Python中有4种类型的数——整数、长整数、浮点数和复数。 (1)2是一个整数的例子。 (2)长整数不过是大一些的整数。 ...

Global site tag (gtag.js) - Google Analytics