Как определить, после какой запятой находится место числа 13 в строке с запятыми (,) с помощью JS?


Например: string - test test, test testatestb, test Буква "s" - это 13-я буква, после первой запятой.

0
randomwebdev 30 Июн 2010 в 12:04

3 ответа

Лучший ответ

Я не уверен, что понимаю ваш вопрос. Но вот возможное решение:

function count_commas_to_position(string,position) {
  return string.substring(0,position).replace(/[^,]/g,'').length
}
// if you don't want to count commas on `position`
function count_commas_to_position(string,position) {
  return string.substring(0,position-1).replace(/[^,]/g,'').length
}
var string = "testtest,teststestatestb,testj"
var comma_count = count_commas_to_position(string,13);
2
jigfox 30 Июн 2010 в 08:46

Пытаться

a.indexOf('s',a.indexOf(','))

Написать метод

  function abc(){
  var a = "esttestte,ststestatestbtestj"
  var c = a.indexOf(',')
  if (c==-1)
    alert("',' is not present ")
  else{
    var b =a.indexOf('s',c)
    if (b==-1)
      alert("'s' is not present after ','")
    else
      alert("position of 's' after ',' is "+(b+1) )
   }
}
0
Salil 30 Июн 2010 в 08:34

Вам нужно разделить строку в массиве с помощью ',', а затем проверить длину каждой строки, используя цикл, соответствующий длине массива. лайк

var str="testtest,teststestatestb,testj";
var a1 = new Array();
a1=str.split(",");
for(var i=0;i < a1.length ; i++  )
{
  if(a1[i].length > 13)
  {
    //get 13th index of the word.
  }
}
0
jigfox 30 Июн 2010 в 08:24