将 StudlyCaps 字符串拆分为单词

2024-01-11

我需要找到一种方法,使用 php/regex 将字符串(下面的示例)拆分为空格分隔的单词。以下是一些字符串示例和我的预期输出:

SomeRANDOMString -> 一些随机字符串
ANOTHERRandomString -> 另一个随机字符串
缩写 -> 缩写
字符串 -> 字符串

到目前为止我当前的非工作解决方案是:

$title = preg_replace("/([a-z])([A-Z])/", "$1 $2", $title);

将上面的字符串输出为:

一些随机字符串
ANOTHER随机字符串
ACRONYM
String


$title = implode(' ', preg_split('/(?<=[a-z])(?=[A-Z])|(?=[A-Z][a-z])/',
                                 $title, -1, PREG_SPLIT_NO_EMPTY)));

The (?<=[a-z])(?=[A-Z])当前一个字符为小写且下一个字符为大写时,正则表达式的部分将匹配,因此这将导致在正确的位置分割字符串,例如'SomeRANDOM' or 'RandomString'. The (?=[A-Z][a-z])当接下来的两个字符是大写字母后跟小写字母时,部分将匹配,这将导致字符串分割,例如'ANOTHERRandom'. The PREG_SPLIT_NO_EMPTYflag 防止在字符串的开头处进行分割,并且implode()用于转换返回的数组preg_split()为以空格分隔的字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 StudlyCaps 字符串拆分为单词 的相关文章

  • 重定向而不改变url

    我总是不喜欢 htaccess 我正在尝试建立一个所有请求都通过index php 的网站 但我希望URL 类似于www sample com home 该网址实际上会加载 www sample com index php page hom
  • 优雅地处理没有数据的 amcharts

    我想知道我的 dataProvider 是否为空 amCharts绘制时默认为null 我怎样才能动态地处理它 var chart AmCharts makeChart chartdiv theme none type serial dat
  • 如何解压 PHP/Lumen/Laravel 的 gzip 请求?

    我收到来自第三方的 gzip 编码文本请求 1mb 所以这是有道理的 我的测试路线 router gt post testgzip function Illuminate Http Request request decompressed
  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • 使用正则表达式、kibana 搜索数组中的元素

    我正在搜索包含数组字段的记录payload params 我想显示包含该字符串的所有字段aabb 例子 payload params 3raabb 44aabb66 grgeg 展示 3raabb 44aabb66 如何在数组上使用正则表达
  • 如何使用正则表达式验证带有可选百分比符号的小数?

    正如问题的标题 我需要使用以下值验证正则表达式 最多 2 个小数位和 9 个整数 带有可选的百分比符号 Valid 10 0 1111111 12 15 2 10 2 3 Invalid 12 02 123456789123 123 I t
  • posts_search 中的自定义查询

    如何使用此查询作为我的自定义搜索查询 add filter posts search my search is perfect 20 2 function my search is perfect search wp query sWord
  • 蛋糕控制台 2.2.1:烘焙错误

    运行 MAMP 的 OSX 机器 CakePHP 2 2 1 已正确安装和配置 这意味着当我浏览到 Index php 文件时 所有绿色条都显示出来 我已经完成了博客教程 并且正在开发我的第二个应用程序 其中脚手架已启动并运行 现在我第一次
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • 使用 SSL 证书验证 Web 浏览器

    是否可以使用 ssl 证书对 Web 浏览器进行身份验证 假设我在应用程序中存储私钥 有什么方法可以从浏览器读取密钥并尝试基于该私钥进行身份验证 您可以使用 SSL TLS 客户端证书身份验证来对浏览器 用户进行身份验证 服务器必须请求客户
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • PHP HEREDoc (EOF) 语法在 Sublime Text 3 上突出显示与正斜杠的差异

    我不熟悉 Sublime Text 3 如何使用语法突出显示 例如 如果它纯粹依赖于主题 或者它内置于主题运行的标准中 但就我而言 使用 PHP 的 HERE 文档和转发存在一些语法突出显示差异斜线 一旦出现正斜杠 ST3 就会认为以下所有
  • 表单提交后如何保留选择字段中的选定值?

    我有一个用于将票证上传到数据库的主页 我有一个选择字段 我想保留用户在提交表单之前选择的值 但它没有发生 这是我选择字段的代码
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • Doctrine EntityManager 清除嵌套实体中的方法

    我想用学说批量插入处理 http doctrine orm readthedocs org en latest reference batch processing html为了优化大量实体的插入 问题出在 Clear 方法上 它表示此方法
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • 我们可以在 SQLite 数据库 (Android) 中存储 .doc .pdf 和 .jpg 文件吗?

    是否可以在 SQLite 数据库中存储像 pdf doc 这样的文件并再次成功检索它们 文件必须完整且再次可读 我知道我们可以存储图像文件 但对于上述情况 即使我们可以存储给定的最大文件大小是多少 好 去吧 将每个文件存储在数据库中比仅使用
  • 如何对 Java 小程序进行签名以便在浏览器中使用?

    我正在尝试在我的网站上部署 Java 小程序 我还需要签名 因为我需要访问剪贴板 我已经遵循了我能找到的所有签名教程 但没有取得任何成功 这是我到目前为止所做的 在 NetBeans 中编写了一个小程序 它在小程序查看器中运行良好 用它制作
  • 如何从BeautifulSoup4中的html标签中找到特定的数据属性?

    有没有办法仅使用 html 中的 data 属性来查找元素 然后获取该值 例如 在 html 文档中使用以下行 ul 我如何检索Sdafdo39通过在整个 html 文档中搜索具有以下内容的元素data bin属性 更准确一点 item d
  • 动态类型保护函数

    我想创建一个类型保护函数来检查对象中的特定键是否具有例如Astring价值 如果我知道键名 这很容易 const data object a one b two c three function hasStringKeyA data any
  • Passport-saml 和 SAML 加密

    我是新来的passport and passport saml 我正在尝试建立一个Node js使用我们大学的 Shibboleth 身份提供商进行单点登录的服务器 我非常接近让一切正常工作 但在 login callback 期间遇到了障
  • 在 Visual Studio 2012 中将 .NET Framework 4.5 降级到 4 以获取 C++ CLR 支持的 DLL 项目?

    当链接 Visual C NET Framework 4 0 支持的项目时 我收到此错误 因为我添加了 C CLR DLL 与 4 5 NET Framework 的引用 error CS0246 The type or namespace
  • 如何在 xml 中设置形状的背景?

    我刚刚使用 android 形状创建了一个红色圆圈
  • Spring Boot:java.time.Duration 的默认序列化从 String 更改为 Number

    我们最近从 Spring Boot 2 1 9 升级到 2 2 1 这导致我们的测试失败 调查得出的结果是 java time Duration默认情况下 类型现在以不同的方式序列化 而不是有字符串 PT15M 在我们现在得到的 JSON
  • 多对象绘制(OpenGL)

    问题是我不知道如何正确绘制两个对象 因为我的另一个对象没有被绘制 这是主要代码 GLuint VertexArrayID glGenVertexArrays 1 VertexArrayID glBindVertexArray VertexA
  • 获取给定周年、给定月份和给定周的开始和结束日期

    如何在 c 4 0 中获取给定年份 int 给定月份 int 和给定周 int example Year 2011 Month 07 week 04 的开始和结束日期 提前致谢 2011 年的开始日期为 07 月 该月的周数为 04 Goo
  • Segue 传递数据后如何重新加载 tableView 数据

    我有两个表视图 一种是用户单击的 另一种是显示数据的 当用户单击第一个表视图中的单元格时 将对我的 firebase 数据库进行查询 并将查询存储在数组中 然后我通过 segue 传递数据 我使用了属性观察器 因此我知道正在设置变量 通过使
  • Ruby 类实例变量与类变量

    I read Ruby 实例变量何时设置 https stackoverflow com questions 826734 when do ruby instance variables get set但何时使用类实例变量我有两种想法 类变
  • MVVM标准化

    有人在Silverlight 发布 http forums silverlight net forums t 159237 aspxMVVM 目前缺乏标准化 因此每个人都有自己的风格 这就是为什么我和 WPF Disciples 的一些人正
  • AutoEventWireup 和 base.OnLoad(e) 调用 Self 导致堆栈溢出

    使用VS2008 C 什么时候AutoEventWireup设置为 true 并在我调用的网络表单中base OnLoad e like protected void Page Load object sender EventArgs e
  • 将 bash 变量放入 zip 命令的文件名中

    在 bash 脚本中 如何使用变量来创建专门命名的压缩文件 例如 我想做这样的事情 VERSION STRING 1 7 3 zip r foo VERSION STRING foo 理想情况下我最终会得到一个名为foo 1 7 3 zip
  • Java ArrayList如何在开头添加元素

    我需要将元素添加到ArrayList队列无论如何 但是当我调用该函数来添加元素时 我希望它在数组的开头添加该元素 因此它具有最低的索引 并且如果数组有 10 个元素 则添加新元素会删除最旧的元素元素 索引最高的元素 有没有人有什么建议 Li
  • 如何删除 XMLDocument 中的特定属性?

    在我的 C 代码库中 我有一个XMLDocument形式 a b b a
  • Django模型-如何添加订单索引注释?

    如何在 django 中注释查询集 以添加表示排序结果中每行的索引 位置 的附加字段 我需要以有序的方式检索用户 并添加一个字段 该字段将指定订单中每个对象的绝对位置 这就是我的代码 users User objects all annot
  • 用户“NT AUTHORITY\NETWORK SERVICE”登录失败

    我已经为此苦苦挣扎了两天 但仍未接近解决方案 我至少读了20 30个帖子 但仍然无法解决这个问题 请帮帮我 我已禁用匿名身份验证 启用 asp net 模拟 我已经添加了
  • 将 StudlyCaps 字符串拆分为单词

    我需要找到一种方法 使用 php regex 将字符串 下面的示例 拆分为空格分隔的单词 以下是一些字符串示例和我的预期输出 SomeRANDOMString gt 一些随机字符串ANOTHERRandomString gt 另一个随机字符