【发布时间】:2014-03-04 17:19:46
【问题描述】:
我正在解析非字母数字字符的文本,并希望排除特定字符,如撇号、破折号/连字符和逗号。
我想为以下情况构建一个正则表达式:
- 非字母数字字符,不包括撇号和连字符
- 非字母数字字符,不包括逗号、撇号和连字符
这是我尝试过的:
def split_text(text):
my_text = re.split('\W',text)
# the following doesn't work.
#my_text = re.split('([A-Z]\w*)',text)
#my_text = re.split("^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$",text)
return my_text
-
案例 1:
- 输入示例:怎么了?很高兴见到你,我的朋友。向世界“你好”!
- 示例输出: ['What's','up','It's','good','to','see','you','my-friend','Hello',' to-the','世界']
-
案例 2:
- 示例输入: 意思是,做这样的事情不好。
- 示例输出: ['It', 'means', 'that,', 'it's', 'not', 'good-to', 'do', 'such', 'things']
任何想法
【问题讨论】:
-
您的代码中有一些错误(与问题无关),例如第一行末尾缺少冒号,函数本身有缩进。
-
感谢指点,已修复。