Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用词断句_Javascript_Jquery - Fatal编程技术网

Javascript 用词断句

Javascript 用词断句,javascript,jquery,Javascript,Jquery,将完整单词及其后续字符放入数组的好策略是什么 例如 这是一个惊人的句子 元素0-3将有一个后续空格,因为句点在第4个元素之后 我需要你把这些按字符间距分开, 然后,一旦注入阵列元素的元素宽度达到X, 换一条新路线 求你了,gawd别给我太多的密码。我更喜欢自己写,只要告诉我你会怎么做。只需使用: 如果你需要一个空间,为什么不这样做呢?(之后使用循环) var str=“这是一个惊人的句子。”; var words=str.split(“”); for(var i=0;iw!=''); 控制台日志

将完整单词及其后续字符放入数组的好策略是什么

例如

这是一个惊人的句子

元素0-3将有一个后续空格,因为句点在第4个元素之后

我需要你把这些按字符间距分开, 然后,一旦注入阵列元素的元素宽度达到X, 换一条新路线

求你了,gawd别给我太多的密码。我更喜欢自己写,只要告诉我你会怎么做。

只需使用:

如果你需要一个空间,为什么不这样做呢?(之后使用循环)

var str=“这是一个惊人的句子。”;
var words=str.split(“”);
for(var i=0;i

哦,睡个好觉

如果您想在O(N)中包含空格并完成,这里有一个选项

var str=“这是一个惊人的句子。”;
var-words=[];
var buf=“”;
对于(变量i=0;i0){
字。推(buf);
}
试试这个

var words = str.replace(/([ .,;]+)/g,'$1§sep§').split('§sep§');
这将

  • 在每个选定的分隔符之后插入一个标记
    §sep§
    ,;]+
  • 在标记的位置拆分字符串,从而保留实际的分隔符

  • 如果你需要空格和圆点,最简单的方法就是

    "This is an amazing sentence.".match(/.*?[\.\s]+?/g);
    
    结果将是

    ['This ','is ','an ','amazing ','sentence.']
    
    类似于,使用
    match
    ,但使用正则表达式中的单词边界
    \b
    在单词边界上拆分:

    'This is  a test.  This is only a test.'.match(/\b(\w+)\b/g)
    
    屈服

    ["This", "is", "a", "test", "This", "is", "only", "a", "test"]
    
    ["This ", "is  ", "a ", "test.  ", "This ", "is ", "only ", "a ", "test."]
    

    屈服

    ["This", "is", "a", "test", "This", "is", "only", "a", "test"]
    
    ["This ", "is  ", "a ", "test.  ", "This ", "is ", "only ", "a ", "test."]
    

    这可以通过lodash实现:

    var str='这是一个令人惊叹的句子';
    console.log(单词(str,/[^,]+/g))
    
    使用和删除前导空格和尾随空格

    let str='这是一个惊人的句子',
    words=str.split('').filter(w=>w!='');
    
    控制台日志(文字)可通过
    拆分功能完成:

    "This is an amazing sentence.".split(' ')
    

    @cars10改变了答案-这能解决问题吗?@cars10为什么你需要在每个单词的末尾加空格?如果您想在压缩字符串时将其返回,只需
    .join(“”)我只是在打这个。很好,反应很快。回答很好:)我需要空格,因为用户的句子有空格,我计划重新输出他们的句子,而不必在循环中声明空格。:)感谢U@user2716649正如丹尼斯·马丁内斯(Dennis Martinez)所提到的,你可以简单地使用来获得
    ,这是一个令人惊叹的句子。
    再次强调。这确实是最好的答案,因为按空间分割对于现实生活场景来说并不实用。好吧,除非你不使用标点符号,并且总是使用单个空格。这会将“不会”转换为“不会”和“t”。这允许收缩:str.match(/\b(\w+)?(\w+)?\b/g)仅限英语单词:(使用javascript函数。我将采用此答案中提供的方法。但对于您的情况,请将
    var newstringreplace=string.replace(/d/gi,,),d”);
    更改为
    var newstringreplace=string.replace(/\s/gi,,))
    .Edit:应该建议,只有原始字符串没有
    ,此方法才有用。我认为此解决方案更安全:
    'This is  a test.  This is only a test.'.match(/\b(\w+\W+)/g)
    
    ["This ", "is  ", "a ", "test.  ", "This ", "is ", "only ", "a ", "test."]
    
    "This is an amazing sentence.".split(' ')