名前部分と単位部分を持つ複雑な文字列を 2 つの部分文字列に分割する最も洗練された JavaScript/jQuery ソリューションは何ですか?
入力:
var source = "some metric (example) [some unit]";
望ましい結果:
var name = "some metric (example)"; //note - no trailing space
var units = "some unit";
名前部分と単位部分を持つ複雑な文字列を 2 つの部分文字列に分割する最も洗練された JavaScript/jQuery ソリューションは何ですか?
入力:
var source = "some metric (example) [some unit]";
望ましい結果:
var name = "some metric (example)"; //note - no trailing space
var units = "some unit";
私はこのようにすることができます:
var parts = source.split('[');
var name = parts[0];
var units = parts[1].substring(0, parts[1].length - 1);
String.prototype.lastIndexOf
トリム機能の 1 つを使用します。
var source = "some metric (example) [some unit]",
i = source.lastIndexOf('['),
name = $.trim(source.slice(0, i)), // "some metric (example)"
unit = $.trim(source.slice(i + 1, -1)); // "some unit"
ブラケットを分割し、[
両方の部分をトリムして先頭または末尾にスペースがないことを確認し、]
ブラケットを削除できます
var source = "some metric (example) [some unit]";
var [name, units] = source.replace(']','').split(' [').map(x=>x.trim());
console.log(name);
console.log(units);