码迷,mamicode.com
首页 > Web开发 > 详细

PHP面试题之驼峰字符串转换成下划线样式例子

时间:2014-09-26 20:33:18      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:http   ar   for   sp   问题   c   代码   amp   line   

自己在看到这个问题的时候,想到的是用ASCII码来处理,没往万能的正则上去想。好吧,下面来看看答案:

答案1:

代码如下 复制代码
$str = ‘OpenAPI‘;

$length = mb_strlen($str);

$new = ‘‘;

for($i = 0; $i < $length; $i++)
{
$num = ord($str[$i]);
$pre = ord($str[$i - 1]);

$new .= ($i != 0 && ($num >= 65 && $num <= 90) && ($pre >= 97 && $pre <= 122)) ? "_{$str[$i]}" : $str[$i];
} www.111cn.net

echo strtolower($new) . ‘<br>‘;

答案2:

代码如下 复制代码
echo strtolower(preg_replace(‘/((?<=[a-z])(?=[A-Z]))/‘, ‘_‘, $str)).‘<br>‘;

那反过来下划线分割字符串转换成驼(www.111cn.net)峰式字符串怎么搞呢

代码如下 复制代码
f = new File("d:/temp/t.txt")
if(f.exists()){
f.eachLine{ line->
line = line.trim()
String[] elems = line.split(‘_‘)
for(int i = 0; i < elems.length; i++){
elems[i] = elems[i].toLowerCase()
if(i != 0){
String elem = elems[i]
char first = elem[0] as char
elems[i] = "" + (char)(first - 32) + elem.substring(1)
}
}
println elems.join()
}
}

from:http://www.111cn.net/phper/php-cy/59093.htm

PHP面试题之驼峰字符串转换成下划线样式例子

标签:http   ar   for   sp   问题   c   代码   amp   line   

原文地址:http://www.cnblogs.com/phpfans2012/p/3995169.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!