刪除角色,我有像如何從固定字符串
V = "Val1,Val2;Val3"
值。在這種情況下,如果我需要單獨的「VAL1,VAL2」從VI現在用這個
var newVal = V.substr(0, V.indexOf(";"));
但是,這種情況是這樣的一些價值faling
V = "Val4;Val1,Val2;Val3"
任何想法如何只採取具有「,」的值,並刪除由「;」分隔的所有其他字符。
刪除角色,我有像如何從固定字符串
V = "Val1,Val2;Val3"
值。在這種情況下,如果我需要單獨的「VAL1,VAL2」從VI現在用這個
var newVal = V.substr(0, V.indexOf(";"));
但是,這種情況是這樣的一些價值faling
V = "Val4;Val1,Val2;Val3"
任何想法如何只採取具有「,」的值,並刪除由「;」分隔的所有其他字符。
使用正則表達式
\w+,\w+
解決這個
function match(str){
return str.match(/\w+,\w+/g);
}
console.log(match('a;b,c;d'));
console.log(match('a,b;c'));
這是工作的小值,但如果不長的價值。我正在嘗試這個。 ''「拜仁慕尼黑德國;韋恩魯尼,曼徹斯特聯隊;梅西踢巴塞羅那」' –
你的預期輸出是什麼?這與單詞 – marvel308
之間的空格有關Ya在這種情況下,我的輸出應該是'wayne rooney,manchester united' –
使用\w+(?=,)
正則表達式來獲取所有這些值
你的意思是'var newVal = V.match( \ w +(?=,)) –
V.match(/ \ w +(?=,)/ g) – Ashvin777
您也可以分割上分號,然後過濾結果ar ray在逗號上。
並獲取該濾波數組的第一個元素。
例片段:
var V = "Val1;Val2,Val3;Val4;Val5,Val6,Val7;Val8";
var value = null;
var array = V.split(';').filter(function(x){return x.indexOf(',')>-1});
if (array && array.length > 0) value = array[0];
console.log(array);
console.log(value);
這種方法的好處是,當有超過2個字用逗號分隔它仍然工作。
對此使用'regex' –
究竟是什麼邏輯?任何符合[正則表達式](http://regular-expressions.info)'\ w +,\ w +'...? (提示提示) – deceze
讓我試試這個與正則表達式 –