2016-02-20 60 views
-1

我有字符串:的JavaScript獲得字符串的子

"A1111A2222A3333A4444" 

如何獲取字符串:

"A1111" 

我需要能夠通過指定要得到它從最後的'A'字符的數量,並從總字符串中刪除這部分。

編輯:

我有一個大的字符串由字符「A」分隔,例如:

"A11A22A33A44A55A66A77A88A99" 

我需要的是,這將使我的子從0到索引功能的'A'字眼。例如,getSubstring(3)將返回:

"A11A22A33A44A55A66" 
+2

''A1111A2222A3333A4444「.substring(0,5)'?你是什​​麼意思「指定'A'字符的數量」? – Krease

+0

我有一個由多個'A'字符分隔的大量字符串。我需要從0到最後N個'A'字符的索引的子字符串。 – shell

+2

'「A1111A2222A3333A4444」.split('A')。slice(0,-n).join('A')'?不知道我是否理解正確 – Oriol

回答

3

您可以:

  1. split字符串使用字符作爲分隔符
  2. 使用slice獲得所有項目子陣除了最後n項目
  3. join回該子陣列
function getSubstring(str, ch, n) { 
    return str.split(ch).slice(0, -n).join(ch); 
} 
getSubstring("A1111A2222A3333A4444", "A", 3); // "A1111" 
getSubstring("A11A22A33A44A55A66A77A88A99", "A", 3); // "A11A22A33A44A55A66" 
+0

這是我正在尋找,謝謝。 – shell

0

鑑於

var str = "A1111A2222A3333A4444"; 
var pattern = /A1*4/; 

search()會告訴你在什麼索引找到匹配

str.search(pattern) 

match()將返回 'A1111'。 (匹配accually返回與[0]處在於被搜索的字符串和[1]爲所述串的匹配部分的陣列

str.match(pattern)[1];