php 字符串循环替换字符串,php – 替换字符串中的重复字符串
第一个任务解决方案代
function split_repeating($string)
{
$words = explode(' ', $string);
$words_count = count($words);
$need_remove = array();
for ($i = 0; $i < $words_count; $i++) {
$need_remove[$i] = false;
}
// Here I iterate through the number of words that will be repeated and check all the possible positions reps
for ($i = round($words_count / 2); $i >= 1; $i--) {
for ($j = 0; $j < ($words_count - $i); $j++) {
$need_remove_item = !$need_remove[$j];
for ($k = $j; $k < ($j + $i); $k++) {
if ($words[$k] != $words[$k + $i]) {
$need_remove_item = false;
break;
}
}
if ($need_remove_item) {
for ($k = $j; $k < ($j + $i); $k++) {
$need_remove[$k] = true;
}
}
}
}
$result_string = '';
for ($i = 0; $i < $words_count; $i++) {
if (!$need_remove[$i]) {
$result_string .= ' ' . $words[$i];
}
}
return trim($result_string);
}
$string = 'Lorem ipsum dolor sit amet sit amet sit amet sit nostrud exercitation amit sit ullamco laboris nisi ut aliquip ex ea commodo consequat.';
echo $string . '
';
echo split_repeating($string) . '
';
echo 'Lorem ipsum dolor sit amet sit nostrud exercitation amit sit ullamco laboris nisi ut aliquip ex ea commodo consequat.' . '
' . '
';
$string = 'Lorem ipsum dolor sit amet () sit amet () sit amet () sit nostrud exercitation ullamco laboris nisi ut aliquip aliquip ex ea commodo consequat.';
echo $string . '
';
echo split_repeating($string) . '
';
echo 'Lorem ipsum dolor sit amet () sit nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.';
?>
第二任务解决方案代码
function split_repeating($string)
{
$words = explode(' ', $string);
$words_count = count($words);
$need_remove = array();
for ($i = 0; $i < $words_count; $i++) {
$need_remove[$i] = false;
}
for ($j = 0; $j < ($words_count - 1); $j++) {
$need_remove_item = !$need_remove[$j];
for ($k = $j + 1; $k < ($words_count - 1); $k += 2) {
if ($words[$k] != $words[$k + 2]) {
$need_remove_item = false;
break;
}
}
if ($need_remove_item) {
for ($k = $j + 2; $k < $words_count; $k++) {
$need_remove[$k] = true;
}
}
}
$result_string = '';
for ($i = 0; $i < $words_count; $i++) {
if (!$need_remove[$i]) {
$result_string .= ' ' . $words[$i];
}
}
return trim($result_string);
}
$string = '2 questions 3 questions 4 questions 5 questions';
echo $string . '
';
echo split_repeating($string) . '
';
echo '2 questions';
?>
php 字符串循环替换字符串,php – 替换字符串中的重复字符串相关推荐
- new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解
new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解 //获得年月日时分秒 //传入日期// ...
- Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素...
1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5 ...
- linux目录下所有文件内容替换,linux替换目录下所有文件中的某字符串
比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做: sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl ...
- linux中替换命令详解,linux中sed命令字符串替换的用法详解
Linux系统中sed命令可以将字符串批量替换,省去了很多麻烦,下面由学习啦小编为大家整理了linux系统中sed命令字符串替换的用法详解,希望对大家有帮助! linux中sed命令字符串替换的用法详 ...
- switch字符串jdk_JDK 12 Early Access Build 12中的原始字符串文字支持
switch字符串jdk 本周Java世界上最大的新闻可能是JDK 11的通用性. 但是,另一个令人兴奋的发展是JDK 12 Early Access Build 12的发布 ( 2018年9月20日 ...
- java如何判断字符串里全部为数字_java语言中如何判断字符串是否为数字
[实例描述] 软件运行过程中,经常需要用户输入数值.货币值等信息,然后进行处理.由于用户输入 只能是字符串类型,如果输入了非法的信息,如在货币值中输入了字母"a"以及其他非数字 字 ...
- python 查找文件内容字符串位置_python 查找目录下 文件名中含有某字符串的文件...
有坑的地方: 若是代码写成这样: [( os.path.abspath(x)) for x in os.listdir(startPath) ] 此代码只能用于当前目录下,listdir列出的都只是文 ...
- python3 unicode字符串_【已解决】Python3中如何声明字符串是unicode类型以避免log日志打印出错...
Python3中代码: CreateTableSqlTemplate = """CREATE TABLE IF NOT EXISTS `%s` ( `id` int(11 ...
- 集合框架(去除ArrayList集合中的重复字符串元素案例2)
package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; /* * 需求:ArrayList去除集合中字 ...
- linux中查找某一个字符串,Linux系统下,在文件中查找某个字符串
android获取手机信息大全 IMEI号,IESI号,手机型号: private void getInfo() { TelephonyManager mTm = (TelephonyManager) ...
最新文章
- MFC 多线程及线程同步
- 三个案例,解读静态代码块和构造代码块
- 蓝桥杯-最大的算式(java)
- LBP(局部二值模式)特征提取原理
- python中的->
- 阿里云 EMAS HTTPDNS 联合函数计算重磅推出 SDNS 服务,三大能力获得突破
- asp.net mvc 应用Bundle(捆绑和微小)压缩技术 启用 BundleConfig 配置web.config
- 谷歌技术帮助美军方无人机识别更精准
- 学习 SpringCloud 五大组件后的总结 一
- cad 2010 64位
- CTPN论文翻译——中文版
- 用广义线性模型进行数据分析(下)
- 数藏2.0故事中,元境开启“元宇宙丝绸之路”
- mac以及windows日语键盘快捷键
- 2022年“研究生科研素养提升”系列公益讲座在线测评
- 【DuiLib入门基础】九宫格corner属性详细解释
- Vim 3 vimrc
- Laravel教程 八:queryScope 和 setAttribute
- 2020年最值得加入的互联网公司有哪些?
- 7-58 计算油费 (15 分)