为了得到一个
的数组,我将我的字符串拆分为“by”[get eggs, friday].
其中<日期>是一个可选条目。
因此,例如,如果我的句子“在星期五之前获得鸡蛋”,它将被分成
[chill, the beach, friday]
但是,如果标题中包含“by”这个词,那么它也会被拆分,例如“星期五到海滩的寒冷”给出了
[chill, the beach]
这不是我想要的。
此外,因为我的日期是可选的,“海边的寒冷”会给我
function removeChars(lettersToDelete, string) {
var flags = {}; // a hash of letters to delete.
var outputString = string.split("");
var lettersToDelete = lettersToDelete.split("");
var i, j;
for (i = 0; i < lettersToDelete.length; i++) {
flags[lettersToDelete[i]] = true;
}
console.log(flags);
for (var j = 0; j < string.length; j++) {
if (flags[string[j]]) {
outputString[j++] = string[j];
}
}
console.log(outputString); //[ 'a', 'a', 'a', 'a', undefined ]
return outputString.join(""); // 'aaaa'
}
我确实考虑过只拆分最后一个“by”,但这个例子证明这不会起作用,因为最后一个“by”在标题中。
我目前正在使用Java正则表达式和命令String.split(...)。反正有没有得到我想要的东西,或者这是不可能的,如果没有逃离前面的“by”(“星期五到海边寒冷”,然后在拆分后删除“\”)?
答案 0 :(得分:1)
以下正则表达式只会根据分隔符by
将字符串拆分为两个,分隔符string.split("\\s+by\\s+(?=\\S+$)");
存在于最后,后跟一个单词。
string.split("\\s+by\\s+(?=(?:friday|monday|saturday)$)");
或
包括所有可能的日期。
rabbitmq-plugins enable rabbitmq_delayed_message_exchange