有人问如何把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);
?>

效果如图:

如何把he_llo wo_rld 变成 HeLlo WoRld的更多相关文章

  1. Java正则速成秘籍(三)之见招拆招篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

随机推荐

  1. 20个angularjs开发工具

    AngularJS是那些渴望以动态方式来设计web app的web开发人员最偏爱的框架之一.如果你是一个希望启动AngularJS项目的开发人员,那么你可能需要帮助来挑选出趁手的工具…… 在Value ...

  2. spring使用ApplicationContext读取资源文件

    @Autowired private ApplicationContext applicationContext; Resource resource = applicationContext.get ...

  3. js判断字符是否存在汉字的方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. poi 读取数据处理方式

    poi读取数据的时候空格,字符数据,数字类型数据处理方式 logger.info("============ExeclReader.readExeclToMapList() begin=== ...

  5. 一款基于jquery的手风琴图片展示效果

    今天要给大家分享一款基于jquery的手风琴图片展示效果.这款图片的展示效果鼠标经过前是灰色的,当鼠标经过时图片变大且变为彩色.效果图如下: 在线预览   源码下载 实现的代码. html代码: &l ...

  6. 一款基于jquery的侧边栏导航

    之前为大家介绍了好多导航菜单,今天给大家分享一款基于jquery的侧边栏导航.这款导航侧边滑出,适合放在手机网页或webapp.一看下实现的效果图: 在线预览   源码下载 实现的代码. html代码 ...

  7. 分享JQuery动画插件Velocity.js的六种列表加载特效

    分享JQuery动画插件Velocity.js的六种列表加载特效.在这款实例中给中六种不同的列表加载效果.分别为从上飞入.从右侧飞入.从左侧飞入.和渐显.一起看下效果图: 在线预览   源码下载 实现 ...

  8. 个推-推送hello world

    最近项目中的一个百度推送真是把我搞的有点头大,真的是很垃圾,到达率又低,还特么遇上停止维护了... 所以项目决定转用别的推送平台,现在改用个推,官方文档写的很好,除了刚下载下来,折腾了一阵子,不过很快 ...

  9. Fastjson 的简单使用<转>

    简介 Fastjson是一个Java语言编写的高性能功能完善的JSON库. 高性能 fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson. ...

  10. 400错误,Required String parameter 'paramter' is not present

    1.就拿简单的登录来说吧,这是开始的代码 @RequestMapping(value="/login")public ModelAndView login(@RequestPara ...