Использование JavaScript parseInt в конце строки
Я знаю это
parseInt(myString, 10) // "Never forget the radix"
вернет число, если первые символы в строке являются числовыми, но как я могу сделать это в JavaScript, если у меня есть строка типа "column5" и я хочу увеличить ее до следующей ("column6")?
Количество цифр в конце строки является переменным.
6 ответов
parseInt("column5".slice(-1), 10);
Вы можете использовать -1 или -2 для однозначных чисел соответственно.
Если вы хотите указать любую длину, вы можете использовать следующее, чтобы вернуть цифры:
parseInt("column6445".match(/(\d+)$/)[0], 10);
Вышеуказанное будет работать для любой длины чисел, если строка заканчивается одним или несколькими числами
Выделите число из текста, проанализируйте его, увеличьте, а затем повторно объедините. Если предыдущая строка хорошо известна, например, "столбец", вы можете сделать что-то вроде этого:
var precedingString = myString.substr(0, 6); // 6 is length of "column"
var numericString = myString.substr(7);
var number = parseInt(numericString);
number++;
return precedingString + number;
Попробуй это:
var match = myString.match(/^([a-zA-Z]+)([0-9]+)$/);
if ( match ) {
return match[1] + (parseInt(match[2]) + 1, 10);
}
это будет конвертировать строки как text10
в text11
, TxT1
в Txt2
и т. д. Работает с длинными числами в конце.
Добавил radix к вызову parseInt, так как значение parseInt по умолчанию слишком magic
быть доверенным.
Смотрите здесь для деталей:
http://www.w3schools.com/jsref/jsref_parseInt.asp
в основном это будет преобразовывать что-то вроде text010
в text9
что не хорошо;).
var my_car="Ferrari";
var the_length=my_car.length;
var last_char=my_car.charAt(the_length-1);
alert('The last character is '+last_char+'.');
Кредит http://www.pageresource.com/jscript/jstring1.htm
Тогда просто увеличивайте last_char
Разделите слово и число, используя RegEx.
используя parseInt() увеличивать число.
Добавить к слову.
Просто попробуйте прочитать строку char за char, проверив ее ASCII-код. Если его от 48 до 57, вы получили свой номер. Попробуйте с функцией charCodeAt. Затем просто разбить строку, увеличить число и все готово.