当前位置: 首页 > 面试题库 >

如何在MySQL /正则表达式替换器中计算单词数?

井宪
2023-03-14
问题内容

在MySQL查询中,我如何与Regex.Replace函数具有相同的行为(例如在.NET / C#中)?

我需要这样做是因为,与许多人一样,我想计算一个字段中的单词数。但是,我对以下答案(在该站点上多次给出)不满意:

SELECT LENGTH(name) - LENGTH(REPLACE(name, ' ', '') +1 FROM table

因为当两个单词之间有一个以上的空格时,它不会给出好的结果。

顺便说一句,我认为Regex.Replace函数可能很有趣,因此欢迎所有好的建议!


问题答案:

有REGEXP_REPLACE作为MySQL用户定义函数提供。

字数统计:如果您可以控制进入数据库的数据,则可以在插入之前删除双空格。另外,如果您必须经常访问字数统计,则可以在代码中计算一次,然后将字数存储在数据库中。



 类似资料:
  • 问题内容: 我有一张约有50万行的表格;varchar(255)UTF8列包含一个文件名; 我正在尝试从文件名中删除各种奇怪的字符-以为我会使用字符类: 现在, MySQL中是否有一个函数可以让您通过正则表达式进行替换 ?我正在寻找与REPLACE()函数类似的功能-简化示例如下: 我知道REGEXP / RLIKE,但那些只检查 是否 有匹配,没有 什么 比赛是。 (我 可以 做一个“ ”从PH

  • 我想以firstName和lastname的形式获得输出。怎么用正则表达式做,有什么想法吗?

  • 我正在使用以替换子字符串 我现在面临的问题是,只有在字符串替换不支持的情况下,我才想要替换整个单词。< br >因为我必须替换非常非常大的字符串,可能以GB为单位。与字符串替换相比,正则表达式非常慢。< br >例如:text: - 正则表达式将时间缩短了近 100 倍(https://medium.com/codezillas/golang-replace-vs-regexp-de4e48482

  • 假设我有以下字符串 在所有应用程序上使用regex,是否有可能 i、 e.替换包含单词的模式的正则表达式,例如,从上面的被

  • 问题内容: 我们知道会匹配单词“ a ”或“ the ”, 我想构建一个正则表达式来匹配像这样的模式 的/一个/一个原因/原因 这意味着我要匹配包含3个单词的字符串: 的第一个单词应为“ a ”,“ the ”或“ one ” 第二个单词应该是“ 原因 ”或“ 原因 ” 的第三个字应为“ 的 ”或“ 的 ” 正则表达式无济于事。 我怎样才能做到这一点?顺便说一句,我使用python。谢谢。 问题答

  • 问题内容: 我有这个字符串: 现在,我想在每个数字之前添加String num:。 因此结果必须是: 这也必须工作: 用于搜索数字的正则表达式是:[0-9]+ 但是我想用num:+ [匹配的子字符串]替换匹配的子字符串。 我现在写了一个带有数字的示例,但另一个示例可以是:在每个电子邮件地址之前添加 ·Email found·: 问题答案: 利用分组。您可以使用括号(并)定义组,并通过组索引$n在哪