How to get the position of a specified repeated character in a string?

Let’s say I have this string:

test (string) (10)

How can I get the position of the third parenthesis (second opening)?

This one:

enter image description here

P.S. In real situations I don’t control how many characters are inside the parenthesis, so I can’t just count them backwards to get a position. I need the index of the third parenthesis wherever it is.

>Solution :

Use indexOf twice, first to get the position of the first closing parentheses, then to get the next opening one:

let s = 'test (string) (10)'
    
let position = s.indexOf('(', s.indexOf(')'))
    
console.log(position)

Note that position will be zero-based, add 1 if necessary.

Leave a Reply