如何避免自然的为node.js拆分带有特殊字符的单词
How to avoid natural for node.js splitting words with special characters
我正在使用节点自然标记器特性,它将一个句子分成几个单词。通常它的作用是
var natural = require('natural'),
tokenizer = new natural.WordTokenizer();
console.log(tokenizer.tokenize("your dog has't flees."));
// Returns [ 'your', 'dog', 'has', 'n't, 'flees' ]
它可以很好地工作,但是,当与德语或法语单词一起使用时,它将单词分成两个,例如
var natural = require('natural'),
tokenizer = new natural.WordTokenizer();
console.log(tokenizer.tokenize("fußball"));
// Returns ['fu', 'ball']
这是不正确的
有人知道怎么避免吗?
或者你知道在JavaScript/Node.js中把句子分成单词的更简单的方法吗?
谢谢!
var data = "your fußball, hasn't! flees.";
// Remove unwanted punctuation, in this case full-stops,
// commas, and exclamation marks.
data = data.replace(/[.,!]/g, '');
// split the words up
data.split(' '); // ["your", "fußball", "hasn't", "flees"]
演示自然文档状态
[…目前,大多数算法都是针对英语的
所以,如果没有你的一些工作,我不指望它能开箱即用。
但是,如果您想要做的只是沿着空白边界分割字符串,则使用如下内容:
var s = "your dog hasn't flees.";
console.log(s.split(/'s+/)); // ["your", "dog", "hasn't", "flees."]
相关文章:
- javascript替换换行符和特殊字符
- angularjs删除动态形式元素中的特殊字符
- 使用json_encode通过xmlhttp.responseText发送特殊字符(即caron)
- 在搜索中考虑特殊字符的
- 避免键入一些特殊字符
- Regex测试特殊字符
- 获取特殊字符后没有单词的句子
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 匹配可能具有特殊字符的单词
- 用于匹配精确单词的正则表达式会影响特殊字符匹配
- 在开头或结尾使用特殊字符匹配单词
- Javascript 正则表达式:匹配除允许的特殊字符之外的任何非单词
- 如何在javascript中用一个特殊字符开头的单词内的空格替换下划线
- 查找包含特定字母和特殊字符的所有单词
- Regex匹配所有单词,但以特殊字符开头和结尾的单词除外
- 用于整个单词匹配的Javascript正则表达式,也可能包含特殊字符
- Regex捕获空格和特殊字符,除了单词中的连字符
- 如何避免自然的为node.js拆分带有特殊字符的单词
- JavaScript正则表达式-只接受两个没有特殊字符的单词
- Regex避免数字和特殊字符,并允许单词之间有空格