Margrop
Articles158
Tags353
Categories21
1password AC AP API AppDaemon Aqara Cron Date Diagrams.net HA HADashboard HomeAssistant IP IPv4 Java LVM‑Thin Linux MacOS MySQL NAS PPPoE PostgreSQL ProcessOn Proxmox VE SSL Shell TTS TimeMachine UML Uptime Kuma Web Windows activate ad adb adblock agent aligenie aliyun alpine annotation aop authy autofs backup baidupan bash bitwarden boot brew browser caddy2 cdn centos cert certbot charles chat chrome classloader client clone closures cloudflare cmd command commit container crontab ctyun ddsm demo dependency deploy developer devtools dll dns docker domain download draw drawio dsm dump dylib edge exception export fail2ban feign firewall-cmd flow frp frpc frps fuckgfw function gcc gfw git github golang gperftools gridea grub gvt-g hacs havcs heap hello hexo hibernate hidpi hoisting homeassistant hosts html htmlparser https idea image img img2kvm import index install intel io ios ip iptables iptv ipv6 iso java javascript jetbrains jni jnilib jpa js json jsonb jupter jupyterlab jvm k8s kernel key kid kms kodi koolproxy koolproxyr kvm lan lastpass launchctl learning lede letsencrypt linux live low-code lvm lxc m3u8 mac macos mariadb markdown maven md5 microcode mirror modem modules monitor mount mstsc mysql n2n n5105 nas network nfs node node-red nodejs nohup notepad++ npm nssm ntp oop openfeign openssl os otp ovz packet capture pat pdf pem perf ping pip plugin png powerbutton print pro proxy pve pvekclean python qcow2 qemu qemu-guest-agent rar reboot reflog remote remote desktop renew repo resize retina root route router rule rules runtime safari sata scipy-notebook scoping scp server slmgr so socks source spk spring springboot springfox ssh ssl stash string supernode svg svn swagger sync synology systemctl tap tap-windows tapwindows telecom template terminal tls token totp tvbox txt ubuntu udisk ui undertow uninstall unlocker upgrade url v2ray vhd vim vlmcsd vm vmdk web websocket wechat windows with worker wow xiaoya xml yum zip 中国电信 云电脑 交换机 光猫 公网IP 内存 内网IP 升级 启动 夏令时 天猫精灵 天翼云 安装 容器 导入 小米 常用软件 广告屏蔽 序列号 应用市场 异常 抓包 描述文件 时区 显卡虚拟化 智能家居 智能音箱 梯子 模块 流程 流程图 浏览器 漫游 激活 火绒 电信 画图 直播源 续期 网关 网络风暴 群晖 腾讯 虚拟机 证书 路由 路由器 软件管家 软路由 运维监控 镜像 镜像源 门窗传感器 防火墙 阿里云 阿里源 集客

Hitokoto

Archive

Python3常用字符串操作

Python3常用字符串操作

python print

  • 不换行(在后面加上,end=’’)
    1
    print(string,end='') 

python split()

  • 通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
  • split()方法语法:
    1
    str.split(str="", num=string.count(str)).

参数

  • str – 分隔符,默认为空格。
  • num – 分割次数。

返回值

返回分割后的字符串列表。

  • 实例:以下实例展示了split()函数的使用方法:
    1
    2
    3
    4
    #!/usr/bin/python
    str = "Line1-abcdef \nLine2-abc \nLine4-abcd";
    print(str.split(' '))
    print(str.split(' ',1);
  • 以上实例输出结果如下:
    1
    2
    ['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
    ['Line1-abcdef', '\nLine2-abc \nLine4-abcd']
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
table = html[html.find('<table class="fzTab nbt">') : html.find('</table>')]
#print (table)
#<tr onmouseout="this.style.background=''" onmouseover="this.style.background='#fff7d8'">
#<tr \r\n\t\t onmouseout=
tmp = table.split('<tr \r\n\t\t onmouseout=',1)
#print(tmp)
#print(len(tmp))
trs = tmp[1]
tr = trs[: trs.find('</tr>')]
#print(tr)
number = tr.split('<td >')[1].split('</td>')[0]
print(number + '期开奖号码:',end='')
redtmp = tr.split('<td class="redColor sz12" >')
reds = redtmp[1:len(redtmp)-1]#去掉第一个和最后一个没用的元素
#print(reds)
for redstr in reds:
print(redstr.split('</td>')[0] + ",",end='')
print('篮球:',end='')
blue = tr.split('<td class="blueColor sz12" >')[1].split('</td>')[0]
print(blue)

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

  • 去空格及特殊符号

    1
    s.strip().lstrip().rstrip(',')
  • 复制字符串

    1
    2
    3
    4
    5
    #strcpy(sStr1,sStr2)
    sStr1 = 'strcpy'
    sStr2 = sStr1
    sStr1 = 'strcpy2'
    print sStr2
  • 连接字符串

    1
    2
    3
    4
    5
    #strcat(sStr1,sStr2)
    sStr1 = 'strcat'
    sStr2 = 'append'
    sStr1 += sStr2
    print sStr1
  • 查找字符

    1
    2
    3
    4
    5
    6
    #strchr(sStr1,sStr2)
    # < 0 为未找到
    sStr1 = 'strchr'
    sStr2 = 's'
    nPos = sStr1.index(sStr2)
    print nPos
  • 比较字符串

    1
    2
    3
    4
    #strcmp(sStr1,sStr2)
    sStr1 = 'strchr'
    sStr2 = 'strch'
    print cmp(sStr1,sStr2)
  • 扫描字符串是否包含指定的字符

    1
    2
    3
    4
    5
    #strspn(sStr1,sStr2)
    sStr1 = '12345678'
    sStr2 = '456'
    #sStr1 and chars both in sStr1 and sStr2
    print len(sStr1 and sStr2)
  • 字符串长度

    1
    2
    3
    #strlen(sStr1)
    sStr1 = 'strlen'
    print len(sStr1)
  • 将字符串中的大小写转换

    1
    2
    3
    4
    5
    #strlwr(sStr1)
    sStr1 = 'JCstrlwr'
    sStr1 = sStr1.upper()
    #sStr1 = sStr1.lower()
    print sStr1
  • 追加指定长度的字符串

    1
    2
    3
    4
    5
    6
    #strncat(sStr1,sStr2,n)
    sStr1 = '12345'
    sStr2 = 'abcdef'
    n = 3
    sStr1 += sStr2[0:n]
    print sStr1
  • 字符串指定长度比较

    1
    2
    3
    4
    5
    #strncmp(sStr1,sStr2,n)
    sStr1 = '12345'
    sStr2 = '123bc'
    n = 3
    print cmp(sStr1[0:n],sStr2[0:n])
  • 复制指定长度的字符

    1
    2
    3
    4
    5
    6
    #strncpy(sStr1,sStr2,n)
    sStr1 = ''
    sStr2 = '12345'
    n = 3
    sStr1 = sStr2[0:n]
    print sStr1
  • 将字符串前n个字符替换为指定的字符

    1
    2
    3
    4
    5
    6
    #strnset(sStr1,ch,n)
    sStr1 = '12345'
    ch = 'r'
    n = 3
    sStr1 = n * ch + sStr1[3:]
    print sStr1
  • 扫描字符串

    1
    2
    3
    4
    5
    6
    7
    8
    9
    #strpbrk(sStr1,sStr2)
    sStr1 = 'cekjgdklab'
    sStr2 = 'gka'
    nPos = -1
    for c in sStr1:
    if c in sStr2:
    nPos = sStr1.index(c)
    break
    print nPos
  • 翻转字符串

    1
    2
    3
    4
    #strrev(sStr1)
    sStr1 = 'abcdefg'
    sStr1 = sStr1[::-1]
    print sStr1
  • 查找字符串

    1
    2
    3
    4
    #strstr(sStr1,sStr2)
    sStr1 = 'abcdefg'
    sStr2 = 'cde'
    print sStr1.find(sStr2)
  • 分割字符串

    1
    2
    3
    4
    5
    6
    7
    8
    #strtok(sStr1,sStr2)
    sStr1 = 'ab,cde,fgh,ijk'
    sStr2 = ','
    sStr1 = sStr1[sStr1.find(sStr2) + 1:]
    print sStr1
    #或者
    s = 'ab,cde,fgh,ijk'
    print(s.split(','))
  • 连接字符串

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    delimiter = ','
    mylist = ['Brazil', 'Russia', 'India', 'China']
    print delimiter.join(mylist)
    PHP 中 addslashes 的实现

    def addslashes(s):
    d = {'"':'\\"', "'":"\\'", "\0":"\\\0", "\\":"\\\\"}
    return ''.join(d.get(c, c) for c in s)

    s = "John 'Johny' Doe (a.k.a. \"Super Joe\")\\\0"
    print s
    print addslashes(s)
  • 只显示字母与数字

    1
    2
    3
    4
    5
    6
    7
    8
    9
    def OnlyCharNum(s,oth=''):
    s2 = s.lower();
    fomart = 'abcdefghijklmnopqrstuvwxyz0123456789'
    for c in s2:
    if not c in fomart:
    s = s.replace(c,'');
    return s;

    print(OnlyStr("a000 aa-b"))
  • 截取字符串

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    str = '0123456789'
    print str[0:3] #截取第一位到第三位的字符
    print str[:] #截取字符串的全部字符
    print str[6:] #截取第七个字符到结尾
    print str[:-3] #截取从头开始到倒数第三个字符之前
    print str[2] #截取第三个字符
    print str[-1] #截取倒数第一个字符
    print str[::-1] #创造一个与原字符串顺序相反的字符串
    print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
    print str[-3:] #截取倒数第三位到结尾
    print(str[:-5:-3]) #逆序截取,输出96
    print(str[:-4:-2])#逆序截取,输出97
    print(str[:-6:-2])#逆序截取,输出975

参考文章
http://www.cnblogs.com/zdz8207/p/python_learn_note_15.html

Author:Margrop
Link:http://blog.margrop.com/post/python-string-opeation/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可