有人问如何把he_llo wo_rld 变成 HeLlo WoRld,估计应该是一道面试的基础题吧。

思路很多种,就看如何实现

思路一、先根据空格分隔,然后转大写,最后再拼接。代码如下

<?php
function change_string1($string="")
{$array=explode(" ",$string);foreach ($array as $key => $v){$array[$key]=str_replace(" ","",ucwords(str_replace("_"," ",$v)));}$string=implode(" ",$array);return $string;
}$string="he_llo wo_rld";
$string=change_string1($string);
var_dump($string);
?>

效果如图:

思路二、先将空格替换为两个空格,然后将下划线替换为一个空格,然后转大写,之后把两个空格替换为下划线,再把一个空格替换为空,再把下划线替换为一个空格,代码如下:

<?php
function change_string2($string="")
{$string=str_replace(" ","  ",$string);$string=str_replace("_"," ",$string);$string=ucwords($string);$string=str_replace("  ","_",$string);$string=str_replace(" ","",$string);$string=str_replace("_"," ",$string);return $string;
}$string="he_llo wo_rld";
$string=change_string1($string);
var_dump($string);
?>

效果如图:

思路三、采用字符串循环解决,代码如下:

<?php
function change_string3($string="")
{$length=strlen($string);for ($i=0; $i <$length ; $i++){if($string{$i}===" "||$string{$i}==="_"){$string{$i+1}=strtoupper($string{$i+1});} }$string=ucfirst(str_replace("_","", $string));return $string;
}$string="he_llo wo_rld";
$string=change_string3($string);
var_dump($string);
?>

效果如图:

转载于:https://www.cnblogs.com/lizhaoyao/p/7272578.html

最新文章

  1. PHP关键字'var'有什么作用?
  2. TypeError: Object of type 'float32' is not JSON serializable
  3. mysql 导出中文乱码_sqoop导出到mysql中文乱码问题总结、utf8、gbk
  4. iOS开发系列-线程同步dispatch_barrier_async
  5. WPF获取鼠标相对于屏幕的绝对位置
  6. 《犯罪心理学》读书笔记(part4)--犯罪心理的形成与内在因素的影响(上)
  7. 使用openssl的md5库
  8. 用vue写一个仿简书的轮播图
  9. elasticsearch入门(三)
  10. shell间接变量引用两种方式
  11. Unity打包安卓出现报错 Exception: Unknown CPU architecture for libraryxxx.a
  12. 合理使用计算机教学反思,生物学课堂中采用计算机多媒体的教学反思
  13. t检验的几种应用案例
  14. ACM2021辽宁省赛:CDEFGILM
  15. 关于VMWare中的vmem文件
  16. 【云原生|Docker系列6】Docker Compose的命令使用详解
  17. spring线程池的使用
  18. K8S使用教程(详细)
  19. Microsoft IExpress:微软自带的安装程序包制作工具
  20. H5页面与原生页面的区别

热门文章

  1. python内置函数open_Python学习教程:Python内置函数大总结(下篇)
  2. 比较 Cache 和虚拟存储器,说明它们的相似点和不同。
  3. jira状态评审未通过后 不能修改_去年职称申报未通过,今年再报名的,这些变化需要注意了...
  4. Mysql短连接风暴
  5. Hive找出所有科目成绩都大于某一学科平均成绩的学生
  6. Windows核心编程_HOOk SOCKET实现封包拦截
  7. 2018-2019 20165232 Exp5 MSF基础应用
  8. Android图片控件,跟随列表(recyclerView)的上下滚动而同步平移。
  9. ARX帮助文档:数据库对象
  10. 如何通过git客户端上传项目到github上