在不同字符出现时将字符串转换为数组

2024-04-12

考虑我有这个字符串'aaaabbbaaaaaabbbb'我想将其转换为数组,以便得到以下结果

$array = [
    'aaaa',
    'bbb',
    'aaaaaa',
    'bbbb'   
]

如何在 PHP 中解决这个问题?


PHP代码演示 https://eval.in/760336

Regex: (.)\1{1,}

(.):匹配并捕获单个字符。

\1:这将包含第一个匹配项

\1{1,}:使用匹配字符一次或多次。

<?php
ini_set("display_errors", 1);
$string="aaaabbbaaaaaabbbb";
preg_match_all('/(.)\1{1,}/', $string,$matches);
print_r($matches);

Output:

Array
(
    [0] => Array
        (
            [0] => aaaa
            [1] => bbb
            [2] => aaaaaa
            [3] => bbbb
        )

[1] => Array
    (
        [0] => a
        [1] => b
        [2] => a
        [3] => b
    )

)

Or:

PHP代码演示 https://eval.in/760342

<?php
$string="aaaabbbaaaaaabbbb";
$array=str_split($string);
$start=0;
$end=  strlen($string);
$indexValue=$array[0];
$result=array();
$resultantArray=array();
while($start!=$end)
{
    if($indexValue==$array[$start])
    {
        $result[]=$array[$start];
    }
    else
    {
        $resultantArray[]=implode("", $result);
        $result=array();

        $result[]=$indexValue=$array[$start];
    }
    $start++;
}
$resultantArray[]=implode("", $result);
print_r($resultantArray);

Output:

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

在不同字符出现时将字符串转换为数组 的相关文章

  • Yii2 异常:ApcCache 需要加载 PHP apc 扩展

    在高级模板前端的主配置中配置缓存组件时 我收到异常 在我的 php ini 上启用了扩展 rsults 如何解决此问题 前端 config main php cache gt class gt yii caching ApcCache ke
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • .htaccess 异常导致主目录出现问题

    这是我的目录结构 localhost or livehost app bootstrap public vendor code demo 这是我的 htaccess
  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • 在 Laravel 5 中截断表

    描述 我有一个充满测试数据的表 有时 我想清除它以获取新数据 我可以在 DBMS 应用程序中执行截断 例如MySQL 工作台 但我试图在我的应用程序中实现它 Goal 创建一个按钮 单击时截断数据库中的表 这是我的步骤 1 声明一条路线 R
  • 将 UUID 存储为 base64 字符串

    我一直在尝试使用 UUID 作为数据库键 我希望占用尽可能少的字节数 同时仍然保持 UUID 表示形式的可读性 我认为我已经使用 base64 将其减少到 22 个字节 并删除了一些尾随的 这些 对于我的目的来说似乎没有必要存储 这种方法有
  • PHP:读取字体文件的 TrueType/OpenType 元数据

    如何阅读字体详细信息 例如 字体在其元数据中包含版权 姓氏 设计者 版本等信息 我还希望脚本能够计算文件中的字形数量 并返回字体支持的语言 例如 典型的字体可能包含西方语言 瑞典语和罗马语言支持 并具有数百个字形 它应该支持 truetyp
  • 将 Google 信任徽章添加到 Magento

    我正在尝试将 Google Trust Badge 添加到我的 magento 商店 我尝试在 Magento 网站上搜索扩展程序 但找不到 我是否需要将以下代码粘贴到产品和结账页面 还是必须对其进行更改 如果有人能引导我走向正确的方向 我
  • 语法错误,第 288 行出现意外的“endif”(T_ENDIF)[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我一直在离线处理我的 WordPress 网站的此代码错误 解析错误 语法错误 homez 541 photoher marie
  • WordPress 分页自定义帖子类型

    我有一个名为 新闻 的页面 使用页面模板page newslist php 它应该显示来自自定义帖子类型 也称为新闻 的帖子 我意识到两者具有相同的名称会导致问题 因此在注册自定义帖子类型时 我进行了重写以将其与页面区分开来 rewrite
  • postgreSql 中特定时间后表更新

    我已经在 postgres 中创建了表 现在我想在特定时间 例如 1 小时 后更新一行 我看到很多问题 例如 https dba stackexchange com questions 56424 column auto updated a
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • Sonata DateTimePickerType 类默认日期显示错误的日期时间格式

    我陷入困境 我不知道如何使用 sonata DateTimePickerType 类正确设置默认日期和时间 我尝试了不同的方法 但到目前为止 没有一种方法没有帮助 在下面的截图中 help 键显示正确的日期和时间 但是当我使用 dp 默认日
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 检查条件并通过 Zend 中的 Regex 识别 url 中的模式

    我正在实现 Zend Regex 路由 并且必须对 url 执行多次检查 例如 如果这是我的网址 http localhost application public index php module controller action 这是
  • URL 中的 %2F 中断并且未引用所需的 .php 文件 [重复]

    这个问题在这里已经有答案了 我需要将 作为变量作为 URL 的一部分传递 我的结构如下所示 www domain com listings page 1 city Burnaby South type Townhome bedroom 2
  • 如何在 Zend Framework 3 中注册自定义表单视图助手

    我正在将继承的 Zend Framework 2 应用程序迁移到 Zend Framework 3 并且在注册自定义表单视图助手时遇到了一些困难 这些助手在应用程序使用版本 2 时起作用 主要用于添加标签属性以实现可访问性 例如 这是一个自
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • Fortran 子例程返回错误值

    嘿 我正在开发一个 Fortran 程序 遇到了一个奇怪的问题 当我尝试在调用特定子例程之前直接输出数组的某些值时 我得到了正确的值 然后 我尝试在启动子例程时输出同一数组的一些值 它们都是 0 我最终在子例程之后输出数组的值 并且这些值回

随机推荐

  • 如何在Linux shell脚本中插入新行? [复制]

    这个问题在这里已经有答案了 我想在多个 echo 语句之间插入一个新行 我努力了echo hello n 但它不起作用 正在打印 n 我想要这样的期望输出 Create the snapshots Snapshot created 在之间插
  • 如何在不闪烁的情况下更新 Shiny 中的值?

    我每秒都会更新一个闪亮的文本输出 该文本输出是从 SQL 数据库读取的 这只需要一些时间 在仪表板中 我只想看看输出如何变化而没有花哨的动画 闪烁 是否可以在等待更新时删除动画并仅显示文本 这是一些代码示例 您可以在其中看到更新的闪烁 ui
  • C++ 对象将模板化函数和参数保留为成员以便稍后调用

    我有课Door实现一个方法LockCheck 和一个类Stove用一种方法BurnerCheck 我想要上课House作为构造函数参数Door LockCheck or Stove BurnerCheck以及给定函数的一组未知参数 Hous
  • Xcode 7 - 如何删除 ld: warning: -read_only_relocs 不能与 x86_64 一起使用

    我最近更新到了 Xcode 7 现在在编译时收到以下警告 ld 警告 read only relocs 不能与 x86 64 一起使用 我认为我没有更改构建设置或代码中的任何内容来创建它 有谁知道导致此警告的原因以及如何删除它 我已经为感兴
  • 用于组合垂直/内联字段的 Bootstrap 复杂表单布局

    我对 Bootstrap 很陌生 但我的技能增长很快 也很欣赏它 我需要构建一个相当复杂的页面 其中包含大量表单元素 包括多个地址填写组件 我在这里附上了我想要的基本设计的图像 但似乎无法使用我可用的基本表单设计元素来实现它 我觉得我的方法
  • 获取WPF中控件的可见大小

    我有一个未完全显示的控件 通过减小窗口大小 但该控件的 ActualWidth 和 RenderSize DesiredSize 仍然显示其总大小 我编写了下一个代码 但它忽略了窗口的滚动条宽度 看起来很丑 也许有一种方法可以以更优雅的方式
  • 如何使用javascript浏览器端获取显卡驱动程序名称?

    我想得到一个像这样的字符串 英特尔开源技术中心 Mesa DRI 英特尔 R 高清显卡 520 Skylake GT2 仅在浏览器上使用 javascript 我知道有一个图书馆augur io https www augur io dev
  • 如何从多个类扩展状态

    请注意 了解集换式卡牌游戏 万智牌 聚会 将是一个优势 抱歉 我不知道如何更容易地表达它 我使用时遇到了一个问题Java 我将描述如下 我有一个名为 Card 的基本类 具有以下所有属性 public class Card String N
  • Android Twitter 出现 oauth-signpost 错误授权失败(服务器回复 401)

    你好 我尝试将 Twitter 与 OAuth 结合使用 但收到此异常 授权失败 服务器回复 401 如果消费者密钥不正确或签名不匹配 则可能会发生这种情况 我正在使用这个示例http code google com p oauth sig
  • 网络提供商无法在 Android 中运行

    我必须制作一个Android应用程序 在其中我需要找到用户的当前位置 为此 我首先使用 GPS 提供商 但如果它不可用 我会求助于网络提供商 现在 我的手机上出现过连网络提供商都无法工作的情况 并且声明 网络启用 lm isProvider
  • 自动删除 HTML 和 Javascript 注释

    我想自动删除 HTML 和 JavaScript 注释 我在服务器上使用 ant 脚本进行部署和 JSF 有哪些选项或工具可用 提前致谢 用正则表达式替换混合 HTML 和 JavaScript 的文件中的注释是有风险的 然而 单独地 你可
  • 状态更改时不调用 ngrx 存储订阅

    我正在使用我的服务中定义的虚拟数据创建一个应用程序 在一个组件中 我具有以下删除产品的功能 removeItem productId string this cartService removeItem productId 以及服务如下 r
  • 构建配置为更喜欢设置存储库而不是项目存储库,但存储库“maven”是由构建文件“build.gradle”添加的

    我想将 jitpack io 添加为我的 gradle 文件中的存储库 这是我的 gradle 根文件 buildscript repositories google mavenCentral dependencies classpath
  • docker 内 alpine 上的节点画布

    我正在尝试安装节点画布 https github com Automattic node canvas https github com Automattic node canvas 在 docker 内的 Alpine 上 这些是我的 D
  • 针对存储在 java.util.List 中的键/值对运行一系列论坛

    假设我有一个包含如下组件的列表 id 1 name Displacement value 200 id 2 name Time value 120 id 3 name Mass value 233 id 4 name Acceleratio
  • YouTube get_video_info 引发限制错误

    我已经为 joomla 创建了 是的另一个 YouTube 播放器模块 在模块后端我使用了来自的代码这个答案 https stackoverflow com a 5151862 4708062显示视频标题 不幸的是 对于大多数视频 ID g
  • 具有更好性能的 pyspark 枢轴替代品

    以下是我的输入数据集 df spark createDataFrame 0 CattyCat B2K B 0 CattyCat B3L I 0 CattyCat B3U I 0 CattyCat D3J C 0 CattyCat J1N H
  • R sp:多边形面积单位

    我使用 R 读取形状文件 以使用 sp 包分析油田的多边形 使用 WGS84 的经纬度 及其各自的区域 不幸的是我不知道面积输出的单位 例如 面积产出平均为 0 85 单位 最大 4 34 这可能不是以平方公里为单位 因为这对于油田来说太小
  • php ldap-bind 密码过期

    我正在使用 adldap 插件连接到 Windows Server AD 但据我所知 我的问题是 php ldap bind 当用户输入不正确的密码时 ldap error 由 adldap 使用 返回的错误是 Invalid Creden
  • 在不同字符出现时将字符串转换为数组

    考虑我有这个字符串 aaaabbbaaaaaabbbb 我想将其转换为数组 以便得到以下结果 array aaaa bbb aaaaaa bbbb 如何在 PHP 中解决这个问题 PHP代码演示 https eval in 760336 R