替换空格:

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

思路:

1.先循环一遍,找出该字符串中" "空格的个数count

2.因为要把" "空格替换成 "%20",所以,要倒着数,最后一个空格后面的元素要移动到2*count位置

3.继续往前遍历,倒数第二个空格后面直到最后空格之间的元素,往后移动(count-1)*2位置

代码事例:

replaceSpace(str)
 count=0
 for i=0;i<count(str);i++
 if str[i]==' ' count++
 for i=count(str)-1;i>=0;i--
 if str[i]!=' '
 str[i+2*count]=str[i]
 else
 count--
 str[i+2*count+1]='%'
 str[i+2*count+2]='2'
 str[i+2*count+3]='0'

具体实现:

<?php
function replaceSpace($str)
{
 $length=strlen($str);//注意字符串长度的函数
 $count=0;
 for($i=0;$i<$length;$i++){
 if($str[$i]==' '){
 $count++;
 } 
 } 
 //倒叙遍历,字符先复制到后面,空格所在位置替换成目标
 for($i=$length-1;$i>=0;$i--){
 if($str[$i]!=' '){
 $str[$i+$count*2]=$str[$i];
 }else{
 $count--;
 $str[$i+$count*2]='%';
 $str[$i+$count*2+1]='2';
 $str[$i+$count*2+2]='0';
 } 
 } 
 return $str;
}
$str="We Are Happy";
$str1=replaceSpace($str);
var_dump($str1);

推荐阅读

php课程简介PHP开发工具,最常用的三款软件Sublime Text 是一个轻量、简洁、高效、跨平台的编辑器