我一直在研究一个函数,它将单词之间的空格更改为字符串 " "
(空格) .
例如, "Hello World. Hi there."
将成为 "Hello(space)world.(space)Hi(space)there."
编辑:我正在尝试将其构建为一组特定的结构化英语,如下所示:
-
将结果的初始值设置为空字符串
-
用于参数字符串中的每个索引
-
如果该索引处的字符是空格
-
追加'(space)'结果
-
其他
-
将该索引处的字符追加到结果中
-
结束如果
-
结束
-
返回结果
这是我到目前为止能够提出的:
function showSpaces(aString)
{
var word, letter;
word = aString
for var (count = 0; count < word.length; count = count + 1)
{
letter = word.charAt(count);
if (letter == " ")
{
return("(space)");
}
else
{
return(letter);
}
}
}
每当我测试这个函数调用时,没有任何反应:
<INPUT TYPE = "button" NAME = "showSpacesButton" VALUE ="Show spaces in a string as (space)"
ONCLICK = "window.alert(showSpaces('Space: the final frontier'));">
我现在刚开始使用JavaScript . 任何帮助,将不胜感激 .
-Ross .
2 回答
使用String.replace
编辑:让你的代码工作:
不,"nothing"不会发生 . 它很少 . 会发生什么情况是您在代码中遇到语法错误,因为您使用了
for var (
而不是for (var
.如果你解决了这个问题,你会注意到你只得到字符串中的第一个字符,因为你在循环中使用
return
而不是把一个字符串放在一起并在循环之后返回它 .你可以这样做:
演示:http://jsfiddle.net/Guffa/pFkhs/
(注意:使用
+=
连接字符串对长字符串执行很糟糕 . )您还可以使用正则表达式替换字符串: