美文网首页
字符串字符分割和驼峰形式的转换

字符串字符分割和驼峰形式的转换

作者: imjcw | 来源:发表于2020-01-08 21:29 被阅读0次

前言

看到了 PhalconModel 用法,想在自己的框架里实现,便稍微研究了一番,原理还是蛮简单的。

Phalcon 提供了三种方法 findByfindFirstBycountBy,它使用魔术方法 __callStatic 来解析用户调用的方法。

例如:用户调用 findFirstByUserMobile 方法,Phalcon 会将其分割成 findFirstByUserMobile。接着会对 UserMobile 进行处理,转换成 user_mobile。这就是这篇文章的由来。

字符分割形式转换驼峰形式

这里主要是运用了 ucwords 的方法。

先将字符串转换为小写,再连接符号统统转换为空格,接着使用 ucwords 将每个单词的首字母改为大写,最后取出空格。

// 这里主要是运用了ucwords的方法
function camelize($string, $separator = '_')
{
    // 将字符串转换为小写
    $string = strtolower($string);
    // 为了能够使用ucwords方法,将连接符号统统转换为空格
    $string = str_replace($separator, ' ', $string);
    // 将每个单词的首字母改为大写
    $string = ucwords($string);
    // 去除空格
    return str_replace(' ', '', $string);
}

echo camelize('terse_test'); // TerseTest

驼峰形式转换字符分割形式

这个方法比较巧妙,当初看见的时候,还赞叹了一番。

主要原理是在小写字母和大写字母之间加上连接符号,然后转换为小写。

// 这个方法比较巧妙,当初看见的时候,还赞叹了一番
function uncamelize($string, $separator = '_')
{
    // 在小写字母和大写字母之间加上连接符号
    $string = preg_replace('/([a-z])([A-Z])/', "$1" . $separator . "$2", $string);
    // 转换为小写
    return strtolower($string);
}

echo camelize('TerseTest'); // terse_test

Laravel 在处理字符串的时候使用的正则是 ~(?<=\\w)([A-Z])~ 后期仔细想了想,还是蛮有道理的,毕竟跟大写字母在一起的不一定是小写字母。

总结

刚开始在准备这个方法的时候,思路要比现在复杂多了。多看多思考,果然是有帮助的。

-- EOF --
本文转载自IMJCW
原文链接:字符串字符分割和驼峰形式的转换

相关文章

  • 字符串字符分割和驼峰形式的转换

    前言 看到了 Phalcon 的 Model 用法,想在自己的框架里实现,便稍微研究了一番,原理还是蛮简单的。 P...

  • 11.字符串:

    字符串替换: 字符串拼接和包含: 字符串分割: 字符串剪切: 字符串的大小写转换: 等号与字符串equals用法:

  • 数组API

    1、join() 将数组转换为字符串,字符串按照分隔符分割,返回分割好的字符串 。 语法: array.join(...

  • 字符串

    String类 1、字符串连接 2、字符串的比较 3、字符串搜索 4、提取子串 5、字符串的转换、替换和分割 St...

  • js 字符串操作函数有哪些

    对字符串的操作做以下整理 1、字符串转换——toString 2、字符串分割——split 3、字符串替换 4、获...

  • 数组API

    1、join() 将数组转换为字符串,字符串按照分隔符分割,返回分割好的字符串 。 语法: 返回值 返回一个字符串...

  • js中操作字符串的方法

    1、字符串转换的三种方法.toString()、String()、“+”拼接字符串分割,即将一个字符串分割为多个字...

  • 前端刷题 —— 牛客网前端题库60道详解(二)

    目录 引言将字符串转换为驼峰格式(中等)字符串字符统计(入门)加粗文字(中等)段落标识(简单)设置文字颜色(较难?...

  • Java -字符串

    1、 2、字符串常量池 3、字符串的比较 4、字符串的获取 5、字符串的截取 6、字符串的转换 7、字符串的分割 ...

  • iOS 驼峰命名法与蛇形式(带下划线)的字符串互相转换

    下划线字符串转驼峰 驼峰字符串转下划线

网友评论

      本文标题:字符串字符分割和驼峰形式的转换

      本文链接:https://www.haomeiwen.com/subject/kzxtnctx.html