这与分裂和标点符号无关;你只关心字母(和数字),只想要一个正则表达式:

import re

def getWords(text)

return re.compile('\w+').findall(text)演示:

>>> re.compile('\w+').findall('Hello world, my name is...James the 2nd!')

['Hello', 'world', 'my', 'name', 'is', 'James', 'the', '2nd']如果您不关心数字,请将\w替换为[A-Za-z]仅用于字母,或将[A-Za-z']替换为包括收缩等。可能有更好的方法将字母非数字字符类(例如带有重音符号的字母)与其他正则表达式包括在内。

我几乎在这里回答了这个问题:Split Strings with Multiple Delimiters?

但是你的问题实际上没有说明:你想把'this is: an example'分成:

['this', 'is', 'an', 'example']

或['this', 'is', 'an', '', 'example']?

我认为这是第一个案例。

[this', 'is', 'an', example'] is what i want. is there a method without importing regex? If we can just replace the non ascii_letters with '', then splitting the string into words in a list, would that work? – James Smith 2 mins ago

正则表达式是最优雅的,但是,你可以这样做如下:

def getWords(text):

"""

Returns a list of words, where a word is defined as a

maximally connected substring of uppercase or lowercase

alphabetic letters, as defined by "a".isalpha()

>>> get_words('Hello world, my name is... Élise!') # works in python3

['Hello', 'world', 'my', 'name', 'is', 'Élise']

"""

return ''.join((c if c.isalnum() else ' ') for c in text).split()或.isalpha()

旁注:您也可以执行以下操作,但需要导入另一个标准库:

from itertools import *

# groupby is generally always overkill and makes for unreadable code

# ... but is fun

def getWords(text):

return [

''.join(chars)

for isWord,chars in

groupby(' My name, is test!', lambda c:c.isalnum())

if isWord

]

如果这是家庭作业,他们可能正在寻找像两状态有限状态机这样的命令式事物,其中状态是“字母的最后一个字符”,如果状态从字母 - >非字母改变,则输出一个字。不要那样做;它不是一个好的编程方式(尽管有时抽象很有用)。

python提取字符串中单词_从字符串中提取单词,删除标点符号并在Python中返回带有分隔单词的列表...相关推荐

  1. python去除字符串中的单词_从字符串中删除单词列表

    看着你问题的其他答案,我注意到他们告诉你如何做你想做的事,但他们没有回答你在最后提出的问题.If the input query is "What is Hello", I get ...

  2. python以下字符串合法的是_以下字符串合法的是().

    [单选题]关于科学和人文的关系,说法不正确的一项是( ) [单选题]下列语句中,___________是不正确的Python语句. [多选题]以下属于人机交互方式的是(). [单选题]下面选项中,__ ...

  3. java字符串数字统计_对字符串进行简单的字符数字统计 探索java中的List功能

    题目: 统计一个字符串中数字和字符串的个数,并分别进行排列,要求 1.数字,字符串可以从键盘获取. 2.储存在list 3.统计数字个数,字符串个数 4.把数字和字符串按从小到大的顺序输出 5.不能使 ...

  4. python字符串equals方法_判断字符串相等-Equals(上)

    本次课程是零基础课程,只要熟悉计算机的基本应用和操作,一般可以完成本次课程学习.本课程深入浅出的介绍了C#语言的基本语法结构.条件选择.循环.异常处理.数组.集合.值类型和应用类型.字符串的常用方法. ...

  5. 反转字符串java实现_反转字符串的几种实现(Java)

    反转字符串的几种实现(Java) 首先第一种是利用Java中的类库对象进行反转 //第一种 使用Java类库的diam实现反转 public String reverse(String str){ S ...

  6. 去掉字符串首尾逗号_去除字符串首尾空格和特殊字符

    去除字符串首尾空格和特殊字符 用户在输入数据时,经常会在无意中输入多余的空格,在有些情况下,字符串中不允许出现空格和特殊字符,此时就需要去除字符串中的空格和特殊字符.在PHP中提供了trim()函数去 ...

  7. hsweb提取页面查询参数_爬虫入门二-提取信息-正则表达式

    Hello,好久没更新了,因为我苦逼的去准备期中考试了,哎,不提了,进入我们今天的正题,提取网页中的信息吧. 上次,我们学会了如何向网站提交一个请求并得到返回的信息. 那么我们如何在这一大串信息中提取 ...

  8. python斗地主游戏源码_我用tkinter写的一个斗地主练习复盘python程序

    python写的斗地主模拟器使用说明,以及python的标准控件库tkinter的使用示例. http://vdisk.weibo.com/s/C5R1f8s9EVq2y 我用python写的一个斗地 ...

  9. python动态语言双刃性_动态语言的灵活性是把双刃剑:以 Python 语言为例

    原标题:动态语言的灵活性是把双刃剑:以 Python 语言为例 本文有些零碎,总题来说,包括两个问题:(1)可变对象(最常见的是list dict)被意外修改的问题,(2)对参数(parameter) ...

最新文章

  1. 特斯拉再出车祸,两死一伤,这次是Model S
  2. Django学习--9 Admin
  3. python实现动态规划求解给定矩阵的和最大的子数组(矩阵中数字正负均存在)
  4. PMP每日三题(2022年2月14日)
  5. jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...
  6. VUE:解决 [Vue warn]: Error in render: “TypeError: item.slice is not a function“ (取部分数据)
  7. 有人上传你的脸?Facebook新功能立刻就会提醒你
  8. php自定义函数记录一
  9. 基于Java的Selenium学习笔记——启动Chrome
  10. 设计模式-03-结构型模式详解
  11. pandas如何获取名以及删除列
  12. 基于耗散性的matlab,基于耗散能的沥青抗老化性能评价方法与流程
  13. Linux之flash流媒体服务器red5安装
  14. 霹雳吧啦Wz语义分割学习笔记P11
  15. jgit git pull_使用JGit API探索Git内部
  16. 获取图片地址并下载图片
  17. 2022数模国赛B题无人机第一题第一小问的简单编程
  18. unity5.0 添加图片纹理
  19. 元宇宙中国江湖进化录
  20. 浅谈决策、管理与信息化的关系

热门文章

  1. 机器智能芯片 10 大新秀!华为抢占一席,Google 占比最多!
  2. 优秀的模糊测试代码是如何炼成的?
  3. 能让应届生拿到阿里 Offer 的一份面试题
  4. 无代码编程时代下,程序员要失业了?
  5. 在北京当 Python 程序员,能买起房吗?
  6. 技术人的 40 岁,真的不惑了吗?
  7. 2017年 Java 程序员,风光背后的危机
  8. JavaScript 框架这一年:React、Angular 们正在互相渗透
  9. 字节跳动资深面试官亲述:java进阶篇
  10. keepalived原理和安装