このような文字列を分割するにはどうすればよいですか
"please help me "
次のような配列を取得します。
["please ","help ","me "]
つまり、スペース (またはスペース) を保持する配列を取得します。
ありがとう
このような文字列を分割するにはどうすればよいですか
"please help me "
次のような配列を取得します。
["please ","help ","me "]
つまり、スペース (またはスペース) を保持する配列を取得します。
ありがとう
何かのようなもの :
var str = "please help me ";
var split = str.split(/(\S+\s+)/).filter(function(n) {return n});
これは、関数を使用しないと難しいです。
var temp = "", outputArray = [], text = "please help me ".split("");
for(i=0; i < text.length; i++) {
console.log(typeof text[i+1])
if(text[i] === " " && (text[i+1] !== " " || typeof text[i+1] === "undefined")) {
outputArray.push(temp+=text[i]);
temp="";
} else {
temp+=text[i];
}
}
console.log(outputArray);
単純な正規表現がこれを助けることができるとは思わない。プロトタイプを使用して、ネイティブ コードのように使用できます...
String.prototype.splitPreserve = function(seperator) {
var temp = "",
outputArray = [],
text = this.split("");
for(i=0; i < text.length; i++) {
console.log(typeof text[i+1])
if(text[i] === seperator && (text[i+1] !== seperator || typeof text[i+1] === "undefined")) {
outputArray.push(temp+=text[i]);
temp="";
} else {
temp+=text[i];
}
}
return outputArray;
}
console.log("please help me ".splitPreserve(" "));