複数の区切り記号を持つ分割配列の最後の要素を取得する必要があります。区切り文字はコンマとスペースです。セパレーターがない場合は、元の文字列を返す必要があります。
文字列が「今日はどうですか?」の場合 「今日?」を返す必要があります。
入力が「hello」の場合、出力は「hello」になります。
JavaScriptでこれを行うにはどうすればよいですか?
複数の区切り記号を持つ分割配列の最後の要素を取得する必要があります。区切り文字はコンマとスペースです。セパレーターがない場合は、元の文字列を返す必要があります。
文字列が「今日はどうですか?」の場合 「今日?」を返す必要があります。
入力が「hello」の場合、出力は「hello」になります。
JavaScriptでこれを行うにはどうすればよいですか?
すべてにワンライナーがあります。:)
var output = input.split(/[, ]+/).pop();
const str = "hello,how,are,you,today?"
const pieces = str.split(/[\s,]+/)
const last = pieces[pieces.length - 1]
console.log({last})
この時点で、piecesは配列であり、配列pieces.lengthのサイズが含まれているため、配列の最後の要素を取得するには、 をチェックしpieces[pieces.length-1]ます。コンマやスペースがない場合は、指定されたとおりに文字列が出力されます。
alert(pieces[pieces.length-1]); // alerts "today?"
var item = "one,two,three";
var lastItem = item.split(",").pop();
console.log(lastItem); // three
そして、配列を構築したくない場合は...
var str = "how,are you doing, today?";
var res = str.replace(/(.*)([, ])([^, ]*$)/,"$3");
英語の内訳は次のとおりです。
/(anything)(any separator once)(anything that isn't a separator 0 or more times)/
replaceは、文字列全体を最後の区切り文字の後のものに置き換えることを意味します。
したがって、これを一般的にどのように適用できるかがわかります。元の文字列は変更されないことに注意してください。
配列インデックスに直接アクセスできます。
var csv = 'zero,one,two,three';
csv.split(',')[0]; //result: zero
csv.split(',')[3]; //result: three