有人问如何把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. LeetCode: Min Stack 解题报告

    Min Stack My Submissions Question Solution Design a stack that supports push, pop, top, and retrievi ...

  2. Python 部署 flask 用uwsgi和nginx

    安装uwsgi nginx 具体方法请百度 1.在项目目录下建立.ini文件 xad_uwsgi.ini [uwsgi] master=true #项目目录 chdir=/root/zhaoyingj ...

  3. javascript 中解析json

    首先温习一下JSON格式: (1) 单个对象{"变量名1":"变量值1","变量名2":"变量值2"} (2) 数组[{ ...

  4. 在django中访问静态文件(js css img)

    刚开始参考的是别的文章,后来参考文章<各种 django 静态文件的配置总结>才看到原来没有但是没有注意到版本,折腾了一晚上,浪费了很多很多时间.后来终于知道搜索django1.7访问静态 ...

  5. kmp返回头位置的模板

    #include<iostream> #include<stdio.h> #include<string.h> using namespace std; char ...

  6. 手风琴式焦点图jQuery特效

    手风琴式焦点图jQuery特效是一款鼠标点击人物图像滑动切换案例说明信息代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="ag-cont ...

  7. awk多列匹配

    1.1.1 awk多列匹配 [hadoop@st1 data]$ netstat -an|awk  '$1~/tcp/&&$3~/64/{print $0}' tcp        0 ...

  8. ADC相关参数之---分辨率和精度

    ADC的分辨率被定义为输入信号值的最小变化,这个最小数值变化会改变数字输出值的一个数值.对于一个理想ADC来说,传递函数是一个步宽等于分辨率的阶梯.然而,在具有较高分辨率的系统中(≥16位),传输函数 ...

  9. u方法传参

    <a href="{:U('Del/mldel',array('id'=>$vo['id']))}">删除</a>

  10. Spring 4 官方文档学习(十一)Web MVC 框架之locales

    http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-localeresolve ...