相关疑难解决方法(0)

Javascript RegExp用于将文本拆分为句子并保留分隔符

我试图使用javascript的拆分来获取字符串中的句子,但保留分隔符,例如!?.

到目前为止我有

sentences = text.split(/[\\.!?]/);
Run Code Online (Sandbox Code Playgroud)

哪个有效,但不包括每个句子的结尾标点符号(.!?).

有谁知道这样做的方法?

javascript regex sentence

21
推荐指数
5
解决办法
2万
查看次数

在javascript中将字符串拆分为句子

目前我正在开发一个将长列分成短列的应用程序.为此我将整个文本分成单词,但此刻我的正则表达式也将数字拆分.

我这样做是这样的:

str = "This is a long string with some numbers [125.000,55 and 140.000] and an end. This is another sentence.";
sentences = str.replace(/\.+/g,'.|').replace(/\?/g,'?|').replace(/\!/g,'!|').split("|");
Run Code Online (Sandbox Code Playgroud)

结果是:

Array [
    "This is a long string with some numbers [125.",
    "000,55 and 140.",
    "000] and an end.",
    " This is another sentence."
]
Run Code Online (Sandbox Code Playgroud)

期望的结果是:

Array [
    "This is a long string with some numbers [125.000, 140.000] and an end.",
    "This is another sentence"
]
Run Code Online (Sandbox Code Playgroud)

我如何改变我的正则表达式来实现这一目标?我是否需要注意可能遇到的一些问题?或者它是否足以搜索". ","? "并且"! " …

javascript regex

20
推荐指数
4
解决办法
1万
查看次数

使用 JavaScript 计算字符串中的句子

已经有几个类似的问题:

我的情况有点不同。

我需要数数字符串中的句子数。

最接近我需要的答案是:

str.replace(/([.?!])\s*(?=[A-Z])/g, "$1|").split("|")
Run Code Online (Sandbox Code Playgroud)

这里唯一的问题是这个 RegEx 假设句子以大写字母开头,但情况并非总是如此。

更具体地说,我将一个句子定义为:

  • 以字母(大写与否)、数字甚至符号(如 $ 或 €)开头。
  • 以标点符号结尾,例如“.”、“?”或“!”。

但是,如果一个句子包含一个数字,而数字本身又包含一个“.”或一个“,”,则该句子应被视为一个句子而不是两个句子。

最后但并非最不重要的一点是,我们可以假设,除了第一句话,一个句子前面都有一个空格。

给定一个随机字符串,我如何计算它包含的 Javascript(或 CoffeeScript)的句子数?

javascript regex string count coffeescript

5
推荐指数
1
解决办法
5242
查看次数

标签 统计

javascript ×3

regex ×3

coffeescript ×1

count ×1

sentence ×1

string ×1