![]() |
1
18
简单正则表达式:
这与一系列“word”字符匹配。那就是 几乎 你想要什么。 这一点更准确:
它匹配任意数量的字字符,确保第一个字符不是数字。 这是我的火柴:
现在,更像是这样。
编辑:
编辑2:
这与上面相同,但它也确保了 末端 带有单词字符。最后,还有:
确保一行中的非字字符不超过两个。也就是说,它匹配的是“单词向上”而不是“单词向上”,这是有意义的。如果您希望它与“word--up”匹配,而不是“word--up”,则可以更改
|
![]() |
2
5
你应该研究自然语言处理(NLP),而不是正则表达式,如果你的目标是一种以上的口语,你也需要考虑到这一点。既然你用的是C,请查看 SharpNLP 项目。 编辑 :只有当您关心要拆分的单词的语义内容时,此方法才是必要的。 |
![]() |
3
2
如果你只需要标记化,你不一定需要一个regex。首先,可以通过删除除空格之外的所有非字母字符来清理字符串,然后执行
|
![]() |
4
2
使用以下内容
产生的输出 [LOLOLOL] [YOU'VE] [BEEN] [PWN3D] [einszwei] [drei] [foo] [bar] |
![]() |
5
0
我的直觉不是使用正则表达式,而是做一两个循环。 循环访问字符串中的每个字符,如果不是有效的字符,请用空格替换它 然后使用string.split()并在空格上拆分。 对映体和连字符可能更难确定它们是垃圾字符还是合法字符。但是,如果使用for循环迭代字符串,那么从当前字符向后和向前看应该会有帮助。 然后你会有一个单词列表-对于每个单词,检查它们在你的字典中是否有效。如果你想快速搜索,最好是执行某种二进制搜索。但是为了让它工作,线性搜索将更容易开始。 编辑:我只提到字典的事情,因为我认为你可能只对合法的词感兴趣,即不是“asdfasdf”,但如果这不是你需要的话,请忽略最后一句话。 |
![]() |
6
0
我为这样的字符串编写了一个扩展名:
|
![]() |
Ben · 统计向量中的单词在字符串中出现的频率 4 月前 |
![]() |
bear_525 · 从列中删除中间名和首字母,并保存在单独的列中 6 月前 |
![]() |
asdfadf · 为什么具有相同内存值的字符串和整数打印方式不同? 6 月前 |
![]() |
user764754 · 防止多行原始字符串文字中出现新行字符 6 月前 |
![]() |
Bogaso · 从列表中返回与模式匹配的元素 6 月前 |
![]() |
Jasco · 如何使用VBA提取两个相似字符之间的字符串中的单词? 6 月前 |