如何把he_llo wo_rld 变成 HeLlo WoRld
有人问如何把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的更多相关文章
- Java正则速成秘籍(三)之见招拆招篇
导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...
随机推荐
- 解析html文档的java库及范例
用这个工具jsoup <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <v ...
- Hadoop集群datanode死掉或者secondarynamenode进程消失处理办法
当Hadoop集群的某单个节点出现问题时,一般不必重启整个系统,只须重启这个节点,它会自动连入整个集群. 在坏死的节点上输入如下命令即可: hadoop-daemon.sh start datanod ...
- rzsz安装【转】
环境:CentOS 发生情况:需要安装工具:szrz 工具进行 windows 和linux传文件 安装方式:从网上其他教程找的所以就按照如下方式操作 1. 下载软件 rzsz-3.34.tar.gz ...
- js将时间戳转换成正常的yyyy-m-d格式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 采用Filter的方法解决Servlet的编码问题
这样比你自己在Servlet代码中硬编码request.setCharacterEncoding, response.setCharacterEncoding方便多了 总之,如果你添加了这个filte ...
- 使用eclipse kepler,结果getServletContext可用了
奇怪,我既没有更新JDK也没有更新Tomcat,仅仅是把eclipse换成了kepler,在JSP中getServletContext就可以用了,可能是因为eclipse自身带的JRE更新了API吧
- css3实现的鼠标经过按钮特效
今天要为各网友再带来一款css实现的鼠标经过按钮的特效.按钮初始时,边框为断开的按钮,当鼠标经过按钮时动画变为封闭的边框.效果图如下: 在线预览 源码下载 我们一起看下实现的代码: html代码: ...
- Winform RsaProtectedConfigurationProvider 加密数据库连接字符串
private static string _strProvider = "RsaProtectedConfigurationProvider"; /// <summary& ...
- invalid conversion from 'void* (*)()' to 'void* (*)(void*)'
void *thread1() ], NULL, thread1, NULL)) != ) 提示:invalid conversion from 'void* (*)()' to 'void* (*) ...
- 解决javaWEB 下载文件中文名称乱码问题
response.setContentType("application/x-msdownload;"); response.setCharacterEncoding(" ...