0

名前部分単位部分を持つ複雑な文字列を 2 つの部分文字列に分割する最も洗練された JavaScript/jQuery ソリューションは何ですか?

入力:

var source = "some metric (example) [some unit]";

望ましい結果:

var name = "some metric (example)"; //note - no trailing space
var units = "some unit";
4

4 に答える 4

2

私はこのようにすることができます:

var parts = source.split('[');
var name = parts[0];
var units = parts[1].substring(0, parts[1].length - 1);

デモ

于 2013-08-02T10:44:40.193 に答える
2

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"
于 2013-08-02T10:44:59.263 に答える
1

ブラケットを分割し、[両方の部分をトリムして先頭または末尾にスペースがないことを確認し、]ブラケットを削除できます

var source = "some metric (example) [some unit]";

var [name, units] = source.replace(']','').split(' [').map(x=>x.trim());

console.log(name);
console.log(units);

于 2013-08-02T10:46:32.517 に答える