0

我想拆分一个看起来像这样的字符串:word1;word2;word3,word4,word5,word6.word7。等等

该字符串来自我从从数据库收集数据的 php 页面获得的输出,因此字符串可能看起来不同,但第一个单词总是用 ; 分隔。然后是 ,最后一个词带有 .(dot)

我希望能够获取所有以 example 结尾的单词;, 或者 。成一个数组。有人知道该怎么做吗?

我还想知道如何只获取以 ; 结尾的单词。

下面的函数 ends_with(string, character) 有效,但它不考虑空格。例如,如果单词是 Jonas Sand,它只打印 Sand。有人知道如何解决这个问题吗?

4

2 回答 2

7

大概

var string = "word1;word2;word3,word4,word5,word6.word7";
var array = string.split(/[;,.]/);
// array = ["word1", "word2", "word3", "word4", "word5", "word6", "word7"]

String#split关键在于传递给该方法的正则表达式。字符类运算符[]允许正则表达式在其包含的字符之间进行选择。

如果需要对包含多个字符的字符串进行拆分,可以使用|来区分。

var array = string.split(/;|,|./) // same as above

编辑:没有彻底阅读这个问题。像这样的东西

var string = "word1;word2;word3,word4,word5,word6.word7";

function ends_with(string, character) {
  var regexp = new RegExp('\\w+' + character, 'g');
  var matches = string.match(regexp);
  var replacer = new RegExp(character + '$');
  return matches.map(function(ee) {
    return ee.replace(replacer, '');
  });
}
// ends_with(string, ';') => ["word1", "word2"]
于 2009-12-10T11:21:36.027 回答
0
var myString = word1;word2;word3,word4,word5,word6.word7;
var result = myString.split(/;|,|./);
于 2009-12-10T11:25:35.960 回答