2015-11-20 4 views
-3

Я использовал функцию замены(), чтобы удалить _pc и держать 1, но это не работает ...Строка замены() не

function testing() 
{ 
    var code = "a1_pc"; //The initial stuff 
    alert(code); //Printing -> a1_pc 

    var number = code.split("a"); //Remove the "a" 
    alert(number); //Printing again -> ,1_pc 

    number = number.slice(1); //Remove the "," 
    alert(number); //Printing again -> 1_pc 

    number = number.replace("_pc", ""); 
    alert(number); //Returns nothing... 
} 
+3

Оба должны работать, вы можете показать больше кода? –

+1

Он работает ... есть ли у вас какие-либо ошибки в консоли? – brso05

+1

Да. Проблема в другом месте. Можете ли вы привести пример, демонстрирующий проблему? –

ответ

-1

Вы можете использовать раскол() Javascript функцию и получить первое вхождение строки. раскол («строка которой вы хотите», предел в 1 только для первого вхождения)

var res = text.split("_",1); 

вернет 1

+3

Это не отвечает на вопрос, почему 'replace' не работает. Ответ заключается в том, что он * –

1

Ваше выше решение должно работать отлично, и делает это в примере ниже.

Проблема должна быть в другом месте внутри вашего кода.

var text = '1_pc'; 
 
text = text.replace("_pc", ""); 
 
console.log(text);

, если вы уверены, что это replace() функция вызывает проблемы, вы можете использовать любой из этих 2-х вариантов.


Если вы знаете, что последние 3 символа всегда _pc, вы могли бы использовать substring, чтобы найти все другие символы вместо этого.

var text = '1_pc'; 
 
text = text.substring(0, text.length - 3); 
 
console.log(text);


Или очень похож на выше решения можно использовать slice, который по существу является гораздо чище версия substring решения.

var text = '1_pc'; 
 
text = text.slice(0, -3); 
 
console.log(text);

Смежные вопросы