2013-04-25 2 views
-1
<!DOCTYPE html> 
<html> 
<body> 

<p id="demo">Click the button to locate where in the string a specifed value occurs.</p> 

<button onclick="myFunction()">Try it</button> 

<script> 
function myFunction() 
{ 
var a =" picture"; 
a.replace(" ",""); 


var n=a.indexOf(" "); 
document.getElementById("demo").innerHTML= n+a+n; 
} 
</script> 

</body> 
</html> 

Я хотел бы заменить «„(пробел) из“картины» в приведенном выше примерезаменить на «» (пространства) не работает

, но результат, кажется, это не заменить замените команду.

Результат должен быть «-1picture-1» после замены, но это «0 picture0»

с пространством перед изображением. (Я использую .indexOf (»«), чтобы указать, что

есть пробел в переменной или нет -1 означает, что она не делает)

Что это случилось ?? Пожалуйста, сообщите

ответ

8

replace не изменяет строку на месте, она возвращает измененную строку.

a = a.replace(" ",""); 
+2

FYI использовать '.Привернуть (//г,«»)', если есть более чем один пробел в строке, и вы хотите, чтобы все заменить. –

1

Используйте String.trim() чтобы удалить конечные места.
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/Trim

В вашем примере,

var a = " picture"; 
a = a.trim(); 
... 
+2

Это может быть использовано, если OP не нуждается в поддержке IE 8 ... но так как он также * возвращает * измененное значение вместо того, чтобы работать на месте, он не решает проблему. (Хотя дополнительные, необъяснимые изменения, внесенные вами в ваш пример, будут) – Quentin

0

Вам необходимо присвоить возвращаемое значение обратно a

var a =" picture"; 
a = a.replace(" ",""); 

редактировать:

хотел бы также, чтобы бросить его там, что .replace(" ","") будет только wo rk для первого экземпляра пробела, и он даже не может быть в начале строки. Если вы желаете, чтобы обрезать только ведущих и завершающие пробелы, считают это:

var a =" picture"; 
a = a.replace(/^\s+|\s+$/g,""); 
0

Я думаю, что это может очень хорошо работает ...

return str.replace(/\s+/g, ''); 

почему я получил downvote ?? ?

alert("some #$%%&& person gave me a downvote!!".replace(/\s+/g, '')); 

это полностью работает !!!!!!

http://jsfiddle.net/ncubica/FBxy2/

+1

Person ncubica = new Person(); Если (downvote (ncubica)) {ncubica.rage(); } – CrazedCoder

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