PHP面试题之驼峰字符串转换成下划线样式例子
发布:smiling 来源: PHP粉丝网 添加日期:2014-07-13 17:45:35 浏览: 评论:0
在PHP中,用你认为最简洁的方法把驼峰样式的字符串转换成下划线样式的字符串,例:输入是FooBar的话,输出则是foo_bar.
自己在看到这个问题的时候,想到的是用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];
- }
- echo strtolower($new) . '<br>';
答案2,代码如下:
echo strtolower(preg_replace('/((?<=[a-z])(?=[A-Z]))/', '_', $str)).'<br>';
那反过来下划线分割字符串转换成驼峰式字符串怎么搞呢,代码如下:
- 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()
- }
- }
Tags: PHP面试题 驼峰字符串
- 上一篇:PHP初级面试题整理
- 下一篇:PHP新浪面试题全部题目与答案
相关文章
- ·php面试题之新浪网面试试题(2014-07-31)
- ·php简答题(2014-11-28)
- ·腾讯php部分面试题答案(2014-11-28)
- ·php程序员面试之百度面试题(2016-08-18)
- ·几道坑人的PHP面试题 试试看看你会不会也中招(2021-04-05)
- ·PHP中提问频率最高的11个面试题和答案(2021-04-10)
- ·PHP经典面试题集锦(2021-05-17)
- ·PHP的关于变量和日期处理的一些面试题目整理(2021-06-16)
- ·PHP面试题之文件目录操作(2021-06-20)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)