PHP关于字符串的各类处理方法

判断字符串是否以指定子串开头或结尾

function startsWith($str, $prefix) {return stripos($str, $prefix) === 0;
}function endsWith($str, $suffix) {return substr_compare($str, $suffix, -strlen($suffix)) === 0;
}// 示例用法
$text = "hello world";
$result = startsWith($text, "he");
echo $result;  // 输出结果: true$text = "hello world";
$result = endsWith($text, "ld");
echo $result;  // 输出结果: true

 统计字符串中指定子串出现的次数

function countSubstring($str, $substring) {return substr_count($str, $substring);
}// 示例用法
$text = "Hello, hello world!";
$result = countSubstring($text, "hello");
echo $result;  // 输出结果: 2

检查字符串是否为空或只包含空白字符

function isStringEmpty($str) {return trim($str) === "";
}// 示例用法
$text = "  ";
$result = isStringEmpty($text);
echo $result;  // 输出结果: true

格式化字符串为驼峰命名法

function toCamelCase($str) {$str = ucwords(str_replace(['-', '_'], ' ', $str));return lcfirst(str_replace(' ', '', $str));
}// 示例用法
$text = "hello-world";
$result = toCamelCase($text);
echo $result;  // 输出结果: helloWorld

检查字符串是否是回文

function isPalindrome($str) {$str = strtolower(preg_replace('/[^a-zA-Z0-9]/', '', $str));return $str === strrev($str);
}// 示例用法
$text = 'A man, a plan, a canal: Panama.';
$result = isPalindrome($text);
echo $result ? '是回文' : '不是回文';  // 输出结果: 是回文

提取字符串中的数字

function extractNumbers($str) {preg_match_all('/\d+/', $str, $matches);return implode('', $matches[0]);
}// 示例用法
$text = 'abc123def456';
$result = extractNumbers($text);
echo $result;  // 输出结果: 123456

翻转字符串中的单词顺序

function reverseWords($str) {return implode(' ', array_reverse(explode(' ', $str)));
}// 示例用法
$text = 'Hello world, this is PHP.';
$result = reverseWords($text);
echo $result;  // 输出结果: PHP. is this world, Hello

删除字符串中的空格

function removeSpaces($str) {return str_replace(' ', '', $str);
}// 示例用法
$text = 'Hello, World!';
$result = removeSpaces($text);
echo $result;  // 输出结果: Hello,World!

替换字符串中的特定内容

function replaceString($str, $search, $replace) {return str_replace($search, $replace, $str);
}// 示例用法
$text = "hello world";
$result = replaceString($text, "world", "everyone");
echo $result;  // 输出结果: hello everyone

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/10649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hadoop简介以及集群搭建详细过程

Hadoop简介以及集群搭建详细过程 hadoop集群简介hadoop部署模式Hadoop集群安装1.集群角色规划2.服务器基础环境准备3.上传安装包hadoop安装包目录结构5.编辑hadoop配置文件6.分发安装包7.配置hadoop环境变量8.NameNode format(格式化操作) hadoop集群启动关闭-手动逐个进程启停…

【低代码专题方案】使用iPaaS平台下发数据,快捷集成MDM类型系统

01 场景背景 伴随着企业信息化建设日趋完善化、体系化,使用的应用系统越来越多,业务发展中沉淀了大量数据。主数据作为数据治理中枢,保存大量标准数据库,如何把庞大的数据下发到各个业务系统成了很棘手的问题。 传统的数据下发方…

Linux 命令 ps aux 命令解析

一、简介 PS 是 Linux 系统命令之一,在 Linux 中是查看进程的命令。查看正处于 Running 的进程。 linux 上进程有 5 种状态: 运行:正在运行或在运行队列中等待 中断:休眠中,受阻,在等待某个条件的形成或接收到信号 不…

android app控制ros机器人一

android开发app,进而通过控制ros机器人,记录开发过程 查阅资料: rosjava使用较多,已经开发好的app也有开源的案例 rosjava GitHub https://github.com/ros-autom/RobotCA https://github.com/ROS-Mobile/ROS-Mobile-Android…

Pandas时序数据分析实践—概述

时序数据,作为一种时间上有序的数据形式,无疑是我们日常生活中最常见的数据类型之一。它记录了事件、现象或者过程随时间的变化,是对于许多实际场景的忠实反映。而在众多时序数据的应用领域中,跑步训练记录莫过于是一项令人着迷的…

亲测解决Git inflate: data stream error (incorrect data check)

Git inflate: data stream error (incorrect data check) error: unable to unpack… 前提是你的repository在github等服务器或者其他路径有过历史备份/副本,不要求是最新版本的,只要有就可能恢复你做的所有工作。 执行git fsck --full检查损坏的文件 在…

《TCP IP网络编程》第十一章

第 11 章 进程间通信 11.1 进程间通信的基本概念 通过管道实现进程间通信: 进程间通信,意味着两个不同的进程中可以交换数据。下图是基于管道(PIPE)的进程间通信的模型: 可以看出,为了完成进程间通信&…

代码随想录 DAY45

class Solution { public: int climbStairs(int n) { vector<int>dp(n1,0); dp[0]1; for(int j0;j<n;j){ for(int i1;i<2;i){ if(j>i) dp[j]dp[j-i]; } } return dp[n]; } }; 这个题还是说想清楚 这个因为有1和2 阶的情况 所以i就是从1开始遍历 然后小于等于…

ConcurrentHashMap

ConcurrentHashMap 同步容器类是 Java 5 增加的一个线程安全的哈希表。对与多线程的操作&#xff0c;介于 HashMap 与 Hashtable 之间。内部采用“锁分段”机制替代 Hashtable 的独占锁。进而提高性能。 jdk8 弃用了分段锁&#xff0c;使用 cassynchronized 放弃分段锁的原因&a…

SQL基础语法 | 增删改查、分组、排序、limit

Shell命令框和Navicat联合使用 一、数据库层面 创建数据库 postgres# CREATE DATABASE runoobdb;查看数据库 postgres# \l选择数据库 postgres# \c runoobdb删除数据库 postgres# DROP DATABASE runoobdb;二、表格层面 创建表格 CREATE TABLE table_name(字段名称 字段数据类型…

【NLP】一个使用PyTorch实现图像分类的迁移学习实例

一个使用PyTorch实现图像分类的迁移学习实例 1. 导入模块2. 加载数据3. 模型处理4. 训练及验证模型5. 微调6. 其他代码 在特征提取中&#xff0c;可以在预先训练好的网络结构后修改或添加一个简单的分类器&#xff0c;然后将源任务上预先训练好的网络作为另一个目标任务的特征提…

数据决定AIGC的高度,什么又决定着数据的深度?

有人曾言&#xff0c;数据决定人工智能发展的天花板。深以为然。 随着ChatGPT等AIGC应用所展现出的强大能力&#xff0c;人们意识到通用人工智能的奇点正在来临&#xff0c;越来越多的企业开始涌入这条赛道。在AIGC浪潮席卷全球之际&#xff0c;数据的重要性也愈发被业界所认同…

HTML5 的离线储存怎么使用,工作原理

TML5提供了一种称为离线储存&#xff08;Offline Storage&#xff09;的功能&#xff0c;它允许网页在离线时缓存和存储数据&#xff0c;以便用户可以在没有网络连接的情况下访问这些数据。离线储存是通过使用Web Storage API或者应用程序缓存&#xff08;Application Cache&am…

[SQL挖掘机] - 字符串函数 - lower

介绍: lower函数是mysql中的一个字符串函数&#xff0c;其作用是将给定的字符串转换为小写形式。它接受一个字符串作为参数&#xff0c;并返回一个新的字符串&#xff0c;其中所有的字母字符均被转换为小写形式。 使用lower函数可以帮助我们在字符串处理中实现标准化和规范化…

MySQL基础(四)数据库备份

目录 前言 一、概述 1.数据备份的重要性 2.造成数据丢失的原因 二、备份类型 &#xff08;一&#xff09;、物理与逻辑角度 1.物理备份 2.逻辑备份 &#xff08;二&#xff09;、数据库备份策略角度 1.完整备份 2.增量备份 三、常见的备份方法 四、备份&#xff08…

通讯录系统

目录 通讯录系统头文件&#xff1a; 通讯录系统Test&#xff1a; 通讯录系统函数源代码&#xff1a; 通讯录系统头文件&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <assert…

python 操作sqlite3数据库

sqlite3 import sqlite3 db sqlite3.connect("c:/tmp/test2.db") #连接数据库&#xff0c;若不存在则自动创建 #文件夹 c:/tmp 必须事先存在,connect不会创建文件夹 cur db.cursor() #获取光标&#xff0c;要操作数据库一般要通过光标进行 sql CREATE TABLE if n…

vue实现flv格式视频播放

公司项目需要实现摄像头实时视频播放&#xff0c;flv格式的视频。先百度使用flv.js插件实现&#xff0c;但是两个摄像头一个能放一个不能放&#xff0c;没有找到原因。&#xff08;开始两个都能放&#xff0c;后端更改地址后不有一个不能放&#xff09;但是在另一个系统上是可以…

Blocking Analyzer 1.5 For MySQL 8.0

快速获取MySQL 8.0的blocking信息 1&#xff09;super_read_only 2&#xff09;read_only 3&#xff09;innodb lock waits 4&#xff09;schema table lock waits 5&#xff09;data lock waits 6&#xff09;metadata locks 7&#xff09;data locks 通过以上信息快速…

wangEditor初探

1、前言 现有的Quill比较简单&#xff0c;无法满足业务需求&#xff08;例如SEO的图片属性编辑需求&#xff09; Quill已经有比较长的时间没有更新了&#xff0c;虽然很灵活&#xff0c;但是官方demo都没有一个。 业务前期也没有这块的需求&#xff0c;也没有考虑到这块的扩展…