删除重复字符

2024-06-26

我如何删除重复字符(例如删除字母k in cakkkke让它成为cake)?

执行此操作的一种简单方法是循环遍历字符串的每个字符,如果该字符不是前一个字符的重复,则将字符串的每个字符附加到新字符串。

下面是一些可以执行此操作的代码:

$newString = '';
$oldString = 'cakkkke';
$lastCharacter = '';
for ($i = 0; $i < strlen($oldString); $i++) {
    if ($oldString[$i] !== $lastCharacter) {
        $newString .= $oldString[$i];
    }
    $lastCharacter = $oldString[$i];
}
echo $newString;

有没有办法使用正则表达式或内置函数更简洁地完成同样的事情?


使用反向引用

echo preg_replace("/(.)\\1+/", "$1", "cakkke");

Output:

cake

解释:

(.)捕获任何字符

\\1是对第一个捕获组的反向引用。这.上面这个例子。

+使反向引用至少匹配 1(以便它匹配 aa、aaa、aaaa,但不匹配 a)

替换为$1替换完整的匹配文本kkk在这种情况下,对于第一个捕获组,k在这种情况下。

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

删除重复字符 的相关文章

  • 如何在 PHP 中按字母顺序比较 2 个字符串?

    标题说什么 具体来说 如果我有 array1 name zoo array2 name fox 我怎样才能确定按字母顺序排列 array2的名字应该出现在上面 array1 s Use strcmp http www php net str
  • 使用 laravel 拒绝 .composer/config 文件权限

    我在 ubuntu virtualbox 上有一个 laravel 项目 我曾经跑步composer update一切都很好 我不知道有什么变化可能会影响这一点 但现在当我跑步时composer update I get file get
  • JS 中的模板?

    我们都喜欢简单 结构化且易于遵守的代码 我们试图在外观和逻辑之间带来差异 例如 在 PHP 中 我们可以使用模板机制 即创建一个带有 php 标签的 html 格式的文件 该文件使用一些预定义的变量 这些变量可以通过逻辑负责任的脚本来使用
  • Laravel 7 会话在不同域中的 IFRAME 上中断

    我尝试在这里开发一个简单的 Laravel 应用程序 https shopifyapp sjranjan com https shopifyapp sjranjan com 此登录工作正常 现在我将上面的 URL 推送到此页面的 ifram
  • 当用户单击链接时如何在表中创建新字段

    我的表格如下图所示 In order to insert data from this form into table I coded this supplier info supplier name POST supplier name
  • 为什么在打开的文件上取消链接成功?

    为什么打开的文件被删除了 在 Windows Xamp 上 我收到消息 仍在工作 但在其他 PHP 服务器上 文件被删除 即使它已打开 并且我收到消息 文件已删除 我也可以从 FTP 删除文件 即使第一个脚本仍在工作 UNIX 系统通常允许
  • 如何在会话过期后自动更新数据库而不刷新我的页面

    您需要刷新或单击该代码 然后它才会转到索引页面 并且在会话过期后更新数据库之前 如何让会话过期后自动更新数据库 使用户活跃度为0 而无需刷新或点击页面 idletime 3600 after 1hr the user gets logged
  • 在 Symfony2 (Doctrine) 和 MySQL 中启用微秒

    我有一个具有一列 日期时间 类型的实体来存储时间戳 ORM Column type datetime protected timestamp 我有 MySQL 5 5 40 我发现它不存储微秒 所以我切换到 5 6 21 并导入了所有表格和
  • WordPress、PHP、URL 编码问题

    Wordpress 提供了一个名为 the permalink 的函数 您猜对了 在帖子循环中返回给定帖子的永久链接 我正在尝试对该永久链接进行 URL 编码 当我执行此代码时 它以 HTML 形式生成以下结果 http
  • 检查 Laravel 模型是否已保存或查询是否已执行

    我见过很多人使用这种方式来检查 Laravel 模型是否已保存 所以现在我想知道这是否是一种安全的方法 我还可以检查下面的查询是否像这样执行 检查模型是否已保存 Eg myModel new User myModel gt firstnam
  • Java 中的原始字符串 - 特别是对于正则表达式。多行字符串

    有没有办法在Java中使用原始字符串 没有转义序列 我正在编写大量的正则表达式代码 原始字符串将使我的代码更具可读性 我知道该语言不会直接提供此功能 但是有没有办法以任何方式 模拟 它们 如果您使用 eclipse 这是一个解决方法 当您将
  • 防止我的 PHP 网络爬虫停止运行

    我正在使用 PHPCrawl 类并添加了一些 DOMDocument 和 DOMXpath 代码来从网页中获取特定数据 但是脚本在接近爬行整个网站之前就停止了 我已将 set time limit 设置为 100000000 因此这不应该成
  • php imagecopyresampled 添加黑色背景

    我有一个调整图像大小的脚本 它采用 130x81 图像并将其添加到 130x130 图像中 当 imagecopyresampled 函数运行时 它会在剩余的空间中添加黑色背景 即使基本图像是白色的 下面的代码 我真的很感激一些帮助 The
  • YouTube api 的永久访问令牌?

    我已经浏览了用于身份验证的 Oauth 和 AuthSub 方法的 google 文档 并且我尝试通过 google 搜索此内容 但没有结果 对于 Facebook 您可以请求长度为 的访问令牌lifetime 这意味着您不必每隔几周就请求
  • 如何在 Linux 上的 php 中启用 --enable-soap?

    这就是问题所在 我在 Apache 上安装了 PHP 5 2 9 但无法升级 PHP 有没有办法在 PHP 5 2 9 中启用 SOAP PHP 手册中说 要启用 SOAP 支持 请使用 enable soap 配置 PHP 这根本没有帮助
  • PHP 中的延迟加载类方法

    我有一堂课 里面有一些相当大的方法 在它的基本和最常见的状态下 大多数功能并不是必需的 所以我想知道是否有一种方法可以延迟加载类的一部分 这些方法需要能够访问私有 受保护的成员 因此如果这些方法是类的本机方法 那将是理想的选择 但是在寻找其
  • 将我的 JSON 字符串格式化为 PHP 中的
      有序列表

    我正在为一个宠物项目开发一个简单的 CMS 我目前有一个 JSON 字符串 其中包含菜单结构的页面 ID 和父页面 ID 的列表 我现在想将此字符串转换为嵌套或分层列表 有序列表 我尝试过循环查找 但似乎最终得到了过于复杂的子类范围 我正在
  • simplexml_load_string 函数出现巨大的输入查找错误

    我有一个大小不同的 API 响应 当我尝试使用将 xml 对象转换为 std 对象时 它不会在大型 xml 数据 约 20MB 上显示错误 这是我的代码 xml simplexml load string apiResponse objec
  • Java(正则表达式)-获取句子中的所有单词

    我需要将 java 字符串拆分为单词数组 假设该字符串是 Hi I need to split this string into a serie s of words 目前我正在尝试使用这个String strs str split w 但
  • 停止警告:date() [function.date]:来自本地主机

    警告 date function date 依赖系统的时区设置是不安全的 你是required使用 date timezone 设置或 date default timezone set 函数 如果您使用任何这些方法并且仍然收到此警告 则很

随机推荐