热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

用于获取包括连字符在内的各种令牌的正则表达式-Regularexpressionsforgettingallkindsoftokensincludinghyphens

Iwanttosplitasentenceintowordsandspecialcharacters.Iamusingtheregularexpressionbelo

I want to split a sentence into words and special characters. I am using the regular expression below:

我想把一个句子分成单词和特殊字符。我正在使用下面的正则表达式:

@"((\b[^\s]+\b)((?<=\.\w).)?)

But it returns only words and not special characters such as space-separated hyphens or colons.

但它只返回单词,而不返回特殊字符,如空格分隔的连字符或冒号。

Ideally, for the sentence:

理想情况下,对于句子:

"Right now!" she shouted, and hands fluttered in the air - amid a few cheers - for about two minutes.

“马上!”她喊道,双手在空中飘动 - 几声欢呼 - 大约两分钟。

I should get:

我应该得到:

Right
now
she
shouted
and
hands
fluttered
in
the
air
-
amid
a
few
cheers
-
for
about
two
minutes

3 个解决方案

#1


1  

Sounds like this regex will do what you're looking for:

听起来像这个正则表达式会做你想要的:

@"\b\s?([A-Za-z-]+)\s?\b"

Seems a bit too simple for the regex you've been trying though! Is there something more perhaps?

对于你一直尝试的正则表达式来说似乎有点太简单了!还有更多的东西吗?

#2


0  

Perhaps splitting with a pattern like this:

也许用这样的模式分裂:

@"\s+(?:\p{P}(?!\s))?|\b\p{P}+\s*"

#3


0  

Just in case you want a non-regex way to remove punctuation from sentence and still keep the hypen:

万一你想要一个非正则表达式从句子中删除标点符号并仍然保持爆炸:

import string
s = '"Right now!" she shouted, and hands fluttered in the air - amid a few cheers - for about two minutes.'
x = "".join([c for c in s if c =="-" or c not in string.punctuation])

Outputs:

'Right now she shouted and hands fluttered in the air - amid a few cheers - for about two minutes'

Simply use x.split() to get it tokenized to your desired output.

只需使用x.split()将其标记为您想要的输出。


推荐阅读
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 基于移动平台的会展导游系统APP设计与实现的技术介绍与需求分析
    本文介绍了基于移动平台的会展导游系统APP的设计与实现过程。首先,对会展经济和移动互联网的概念进行了简要介绍,并阐述了将会展引入移动互联网的意义。接着,对基础技术进行了介绍,包括百度云开发环境、安卓系统和近场通讯技术。然后,进行了用户需求分析和系统需求分析,并提出了系统界面运行流畅和第三方授权等需求。最后,对系统的概要设计进行了详细阐述,包括系统前端设计和交互与原型设计。本文对基于移动平台的会展导游系统APP的设计与实现提供了技术支持和需求分析。 ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • 我正在尝试将Firebase添加到涉及添加以下内容的现有应用程序中:classpath'com.googl ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 怀疑是每次都在新建文件,具体代码如下 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • 我创建了一个新的AWSSSO(使用内部IDP作为身份源,因此不使用ActiveDirectory)。我能够登录AWSCLI、AWSGUI,但 ... [详细]
  • flutter图片缓存Flutter的图片缓存机制有问题(可能是我使用的版本1.12.13有问题)网络图片会默认缓存到本地,但是不管图片是不是完整的或者损坏的,导致页面在下次进入的 ... [详细]
  • flutter插件搜索及最新依赖包查找
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了flutter插件搜索及最新依赖包查找相关的知识,希望对你有一定的参考价值。一.flutter中包和插件搜索平台 ... [详细]
author-avatar
乃ah麟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有