1. 常用方法

2.字符串常量

3.字符串模板Template

通过string.Template可以为Python定制字符串的替换标准,下面是具体列子:

>>>from string import Template

>>>s = Template('$who like $what')

>>>print s.substitute(who='i', what='python')

i like python

>>>print s.safe_substitute(who='i') # 缺少key时不会抛错

i like $what

>>>Template('${who}LikePython').substitute(who='I') # 在字符串内时使用{}

'ILikePython'

Template还有更加高级的用法,可以通过继承string.Template, 重写变量delimiter(定界符)和idpattern(替换格式), 定制不同形式的模板。

import string

template_text = ''' Delimiter : $de Replaced : %with_underscore Ingored : %notunderscored '''

d = {'de': 'not replaced',

'with_underscore': 'replaced',

'notunderscored': 'not replaced'}

class MyTemplate(string.Template):

# 重写模板 定界符(delimiter)为"%", 替换模式(idpattern)必须包含下划线(_)

delimiter = '%'

idpattern = '[a-z]+_[a-z]+'

print string.Template(template_text).safe_substitute(d)  # 采用原来的Template渲染

print MyTemplate(template_text).safe_substitute(d)  # 使用重写后的MyTemplate渲染

输出:

Delimiter : not replaced

Replaced : %with_underscore

Ingored : %notunderscored

Delimiter : $de

Replaced : replaced

Ingored : %notunderscored

原生的Template只会渲染界定符为$的情况,重写后的MyTemplate会渲染界定符为%且替换格式带有下划线的情况。

4.常用字符串技巧

1.反转字符串

>>> s = '1234567890'

>>> print s[::-1]

0987654321

2.关于字符串链接

尽量使用join()链接字符串,因为’+’号连接n个字符串需要申请n-1次内存,使用join()需要申请1次内存。

3.固定长度分割字符串

>>> import re

>>> s = '1234567890'

>>> re.findall(r'.{1,3}', s)  # 已三个长度分割字符串

['123', '456', '789', '0']

4.使用()括号生成字符串

sql = ('SELECT count() FROM table '

'WHERE id = "10" '

'GROUP BY sex')

print sql

SELECT count() FROM table WHERE id = "10" GROUP BY sex

————————————————
版权声明:本文为CSDN博主「yolosliu」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/github_36601823/article/details/77815013

string 字符串模块操作的更多相关文章

  1. String字符串相关操作

    .length 字符串长度.equals 比较字符串.equalIgnoreCase 比较字符串不区别大小写.charAt 获取字符串指定下标位置的字符.contains 判断字符串内是否包含某字符串 ...

  2. 4.String字符串类型操作

    String类型操作 1.set key value 设置key对应的值为string类型的value  2.mset key1 value1 … keyN valueN 一次设置多个key的值 3. ...

  3. String字符串的操作

    字符串的常用操作 # Author:nadech name = "my name is nadech" print(name.count("a")) print ...

  4. string字符串js操作

    String 对象方法 方法 描述 anchor() 创建 HTML 锚. big() 用大号字体显示字符串. blink() 显示闪动字符串. bold() 使用粗体显示字符串. charAt() ...

  5. String - 字符串分割操作

    如果我想将一个字符串按照每8位一组分为若干个块,然后存储在一个byte[ ]数组中,我首先需要确定这个byte数组的长度,但由于我无法确定这个字符串的长度是否可以被8整除,所以无法直接判断,因此需要对 ...

  6. string 字符串的操作 大全类的使用

    Array.Sort(vv, string.CompareOrdinal); //ASCII排序 string[] words = { "The", "1quick&qu ...

  7. 【超值分享】为何写服务器程序需要自己管理内存,从改造std::string字符串操作说起。。。

    服务器程序为何要进行内存管理,管中窥豹,让我们从string字符串的操作说起...... new/delete是用于c++中的动态内存管理函数,而malloc/free在c++和c中都可以使用,本质上 ...

  8. string字符串转数组

    /** * THis_is_a_cat * This Is A Cat * * Cat A Is This * @author Administrator * */ public class Test ...

  9. python学习之-- redis模块操作 string

    redis 模块操作之--> String String:redis中的string在内存中按照一个key 对应一个 value来存储. 使用方法如下:set(name, value, ex=N ...

  10. C风格字符串和C++ string 对象赋值操作的性能比较

    <<C++ Primer>> 第四版 Exercise Section 4.3.1 部分Exercise 4.2.9 习题如下: 在自己本机执行如下程序,记录程序执行时间: # ...

随机推荐

  1. battery-historian耗电量测试

    Battery-Historian简介 Battery-Historian是谷歌推出的一款专门分析Bugreport的工具,是谷歌2015年I/O大会上推出的一款检测运行在android5.0(Lol ...

  2. Linux - tar 命令详解 (压缩,解压,加密压缩,解密压缩)

    压缩tar -czvf /path/to/file.tar.gz file  (第一个参数:文件压缩的位置和名字  第二个参数:需要压缩的文件) 解压 tar -xzvf /path/to/file. ...

  3. mysql使用经验

    1.mysql建表主键,如果整数,用bigint而不用int 2.执行sql加最大执行时间 /*+ max_execution_time(60000)*/ 3.sql中避免offset过大,查询不出来

  4. linux修改ssh默认端口

    1 . 登录服务器,打开sshd_config文件 vim /etc/ssh/sshd_config 2 . 找到#Port 22,默认是注释掉的,先把前面的#号去掉,再插入一行设置成你想要的端口号, ...

  5. 使用Mockito 对方法中的私有void方法

    这里用一段代码举例 public void ruleJudgement(Long tenantId, Long productId, Long equipId, List<ModelAttrib ...

  6. java list的六种赋值方式

    public static void main(String[] args) { //第一种赋值 List<String> list1 = Arrays.asList("stri ...

  7. 靶场练习1:Medium_Socialnetwork

    靶机链接 https://www.vulnhub.com/entry/boredhackerblog-social-network,454/ 信息收集阶段 进行主机的发现,由于已知主机跟Kali在同一 ...

  8. GIT笔记汇总

    Git的存储方式: 元空间的存储方式 SVN存储方式: 文档数据库存储类似于 K -V存储 文件版本迭代 Copy ------------------------------------------ ...

  9. MOBI 】逆流而上的我:重塑心理韧性,在逆境中实现自我超越【早稻田大学名誉教授、哈佛大学客座研究

    书本详情 标题:逆流而上的我:重塑心理韧性,在逆境中实现自我超越[早稻田大学名誉教授.哈佛大学客座研究员加藤谛三的年度心理学温情巨作!掌握心理韧性,每个人都是生活的修行者!] | 加藤谛三 |年份:2 ...

  10. mysql(insert + group by + on duplicate key update)

    group by 的内容设为子表tmp, 外面嵌套一层查询   连接 on duplicate key update key = tmp.new_key