#-*- coding: utf-8 -*-
import string
def translator(frm='', to='', delete='', keep=None):
if len(to) == 1:
to = to * len(to)
trans = string.maketrans(frm, to)
if keep is not None:
allchars = string.maketrans('', '')
delete = allchars.translate(allchars, keep.translate(allchars, delete))
def translate(s):
return s.translate(trans, delete)
return translate
if '__main__' == __name__:
#选出属于指定集合的字符
print string.digits
digits_only = translator(keep = string.digits)
print digits_only('Chris Perkins:224-7992')
#移除属于某字符集合的元素
no_digits = translator(delete=string.digits)
print no_digits('Eric chen: 1234-5678')
#用某个字符替换属于某指定集合的字符
digits_to_hash = translator(frm=string.digits, to='*')
print digits_to_hash('Eric chen: 1234-5678')
分享到:
相关推荐
- **1.9 简化字符串的translate方法使用**:解释了如何更高效地使用Python的字符串translate方法。 - **1.10 过滤字符串中的特定字符**:介绍了如何从字符串中过滤掉特定字符或字符集。 - **1.11 判断字符串是...
3. **3.3 对齐字符串**:讲解了如何使用字符串格式化或填充字符来对齐文本。 4. **3.4 去除字符串两端的空白**:使用`strip()`、`lstrip()`和`rstrip()`方法去除字符串首尾的空白字符。 5. **3.5 字符串连接**:...
- 使用 `padStart()` 方法在字符串左侧添加指定数量的填充字符。 - 使用 `padEnd()` 方法在字符串右侧添加指定数量的填充字符。 - 注意这些方法在较旧的浏览器中可能不支持,需要使用 polyfill。 **总结**: 以上...
- 使用`rand()`、`mt_rand()`或其他方法生成随机字符串。 - 适用于密码生成、安全令牌等场景的技巧。 7. **扩展和压缩制表符**(1.7 Expanding and Compressing Tabs) - 如何在文本处理过程中正确处理制表符。 ...
解决方案:使用更为灵活的re.split()方法,该方法可以为分隔符指定多个模式。 说明:字符串对象的split()只能处理简单的情况,而且不支持多个分隔符,对分隔符周围可能存在的空格也无能为力。 # example.py # # ...
《Python Cookbook》第三版是面向Python中高级用户的一本实用指导书籍,它提供了大量的编程解决方案,涉及到数据结构、字符串和文本处理、数字和日期处理、迭代器与生成器的应用、文件与输入输出等Python编程中的...
- 使用字符串操作和正则表达式,可以实现如驼峰命名法、下划线命名法等命名风格之间的转换。 - **在字符和值之间转换** - 利用`ord()`和`chr()`函数可以在ASCII码值和对应的字符之间进行转换。 - **在Unicode和...
- **合并拼接字符串**:了解不同的字符串拼接方法。 - **字符串中插入变量**:学习如何将变量插入到字符串中。 - **以指定列宽格式化字符串**:掌握如何按指定宽度格式化字符串。 - **在字符串中处理html和xml**:...
4. 按字节或单词逐个处理字符串:这可能涉及到使用`foreach`循环来遍历字符串中的每个字符或单词,并执行特定的处理。 5. 反转字符串:可以是单词级别的反转也可以是字节级别的反转,可以使用内置函数如`strrev()`...