我想在javascript中的文本中获取,
或.
时拆分。
我的文字是这样的:
猫爬上了高大的树。在这句话中,$ U_SEL {}是一个名词。
我想要数组:
1.The cats climbed the tall tree.
2.In this sentence
3.$U_SEL{}
4.is a noun
答案 0 :(得分:1)
此挑战的正则表达式将是。
var text = "The cats climbed the tall tree.In this sentence, $U_SEL{} is a noun."
var regex = /[.,]/;
text.split(regex);
有关
regex
访问的更多信息 https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions
答案 1 :(得分:1)
这是regex
。要在{}
上拆分,请先将 替换为{},
或{}.
,然后尝试拆分。
var str = "The cats climbed the tall tree.In this sentence, $U_SEL{} is a noun";
str = str.replace("{}", "{},");
//Array with splitted value
var result = str.split(/[,.]/g);
//Printing the result array
console.log(result);
答案 2 :(得分:1)
试试这个
<script type="text/javascript">
var text = "The cats climbed the tall tree.In this sentence, $U_SEL{}, is a noun";
var spliteds = text.split(/[\.,]/);
alert(spliteds[0]);
alert(spliteds[1]);
alert(spliteds[2]);
alert(spliteds[3]);
</script>
答案 3 :(得分:0)
'The cats climbed the tall tree.In this sentence, $U_SEL{} is a noun.'.split(/[\.,]/)
将返回:
Array [ "The cats climbed the tall tree", "In this sentence", " $U_SEL{} is a noun", "" ]
答案 4 :(得分:0)
在这种情况下,正则表达式是您的最佳选择。以上所有帖子都已正确涵盖解决问题的方法。我刚刚离开这里,如果你不知道正则表达式是如何工作的,那么它将提供你所追求的东西。
考虑到您的方案中 RegExp是非常佳的选择。上面的代码主要是为了说明如何在不使用RegExps的情况下完成它。 (更不用说它会混乱添加更多的分隔符)
var myString = "The cats climbed the tall tree.In this sentence, $U_SEL{} , is a noun";
var mySplitString = myString.split(",");
var myFinalArray = new Array();
mySplitString.forEach(function(part){
var myTemp = part.split(".");
myTemp.forEach(function(key){
myFinalArray.push(key);
});
});
console.log(myFinalArray);
答案 5 :(得分:0)
可能拆分不准确,因为拆分需要单个字符分隔符,并且第三个元素没有分隔符。
尝试捕获而不是拆分可能会更好(虽然从性能的角度来看我不知道它是否明智)。
你可以试试这个:
var pattern = /(([^.,]+?)([.,]|\{\})) */g;
var captures = [];
var s = 'First capture.Second capture, $THIRD_CAPTURE{} fourth capture.';
while ( (match = pattern.exec(s)) != null ) {
if (match[3] == "." || match[3] == ",") {
captures.push(match[2]);
} else {
captures.push(match[1]);
}
}
console.log(captures);
var captures = [];
var s = 'The cats climbed the tall tree.In this sentence, $U_SEL{} is a noun.';
while ( (match = pattern.exec(s)) != null ) {
if (match[3] == "." || match[3] == ",") {
captures.push(match[2]);
} else {
captures.push(match[1]);
}
}
console.log(captures);
原则如下。
对于每个结果匹配,您有三个捕获:
然后,根据结尾,存储idx 1或2的匹配。
你可以修改选择匹配的循环,以获得你想要的东西,第一次捕获的点而不是最后一个,除非它是一个错字。