如何拆分包含不同符号的字符串?

时间:2009-12-10 11:20:04

标签: javascript string replace split match

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

字符串来自我从php页面获取的输出,该页面从数据库收集数据,因此字符串可能看起来不同,但第一个单词总是以;然后,和。(点)

的最后一句话

我希望能够获取以例如结尾的所有单词; , 要么 。成阵列。有人知道怎么做吗?

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

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

2 个答案:

答案 0 :(得分: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"]

答案 1 :(得分:0)

var myString = word1;word2;word3,word4,word5,word6.word7;
var result = myString.split(/;|,|./);