Как заменить X-й символ в правом конце строки, используя JavaScript? - PullRequest
1 голос
/ 14 октября 2011

Я должен найти и заменить "b" на "g" в атрибуте image src.

Первоначальный src будет выглядеть примерно так: "someName-b.png", а с JavaScript мне придется заменить"b" с "g".Но проблема в том, что "someName" может отличаться по длине.Поэтому в основном я хочу найти 5-й символ в конце строки атрибута src, а затем заменить 5-й символ на "g".

Есть ли в JavaScript функция, позволяющая найтиx й символ из конца строки?

Ответы [ 3 ]

5 голосов
/ 14 октября 2011

Вы можете использовать .slice. При отрицательных значениях эта функция отсчитывает справа:

var a = "123456789"; // sample string

a.slice(0, -5)  // slice from begin to 5th character before end
 + "g"          // add a 'g'
 + a.slice(-4); // slice last 4 characters

// result: 1234g6789
3 голосов
/ 14 октября 2011

Найти 5-й символ в конце строки: string.charAt(string.length - 5).

Заменить 5-й символ в конце строки: string.substring(0, string.length -5) + 'g' + string.substring(string.length - 4)

1 голос
/ 14 октября 2011

Вероятно, не работа для регулярных выражений, но эй, это работает:

> "someName-b.png".replace(/.(.{4})$/, "g$1")
-> "someName-g.png"
...