使用数组和foreach循环从另一个字符串中获取一个字符串

梅德克

我想从另一个地方创建一个字符串:

1-第一个字符串是:“ 4-3 | 5-2 | 9-6 | 7-1 | 2-8”

2-新字符串必须为:“ 4、5、9、7、2”

我有这段代码,但是不起作用:

$string_1 = '4-3|5-2|9-6|7-1|2-8';

$array_1 = explode('|', $string_1);

$string_2 = '';

foreach ( $array_1 as $item ) {

    $array_2 = explode('-', $item);

    foreach ( $array_2 as $item_id => $item_value ) {

        $string_2 .= ($string_2 == '') ? $item_id : ', ' . $item_id;

    }

}
斯蒂芬·普罗兰特(Stefan Profanter)

如何将RegEx用于此任务?

使用正则表达式的代码:

$string_1 = '4-3|5-2|9-6|7-1|2-8';
preg_match_all('/(\d+)-\d+\|?/',$string_1,$matches);
$string_2 = implode(", ", $matches[1]);

演示版

它比遍历字符串的每个字符要有效得多。


正则表达式解释:

正则表达式可视化为RailRoad图: 正则表达式

  • (\d+):第一个\d与数字匹配。所述+装置的一个或多个次。()周围创建了一个组,这意味着匹配项将存储在$matches数组中
  • -:后跟一个简单的破折号
  • \d+:然后有一个或多个其他数字
  • \|?:和一个竖线字符\|(需要转义)。?手段,这正是一个有或没有管。

然后preg-match-all将搜索给定字符串中所有可能的(重复的)匹配项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从另一个字符串中获取日期和一个字符串

Java使用嵌套循环在另一个字符串中查找一个字符串出现的次数

使用 for 循环在另一个字符串中查找一个字符串

JavaScript获取字符串在另一个字符串中的最后一个字符的位置

如何将一个字符串数组存储到另一个字符串数组中?

排序一个字符串数组,使用另一个字符串数组确定顺序

使用嵌套循环在另一个字符串中出现一个字符串

计算一个字符串在另一个字符串中每个字符的出现次数

比较一个字符串与数组中的另一个字符串

如何在Shell中获取另一个字符串中一个字符串的行号

当一个字符串在另一个字符串中时如何从数据库获取数据?

使用动态中的指针将一个字符串复制到另一个字符串

比较字符串数组和另一个字符串数组的优雅方法

从SQL Server中的另一个字符串获取仅字符字符串

用字符串中的另一个字符替换“字符”

For 循环一个字符串

从一个字符串数组到另一个字符串数组的strcpy

使用Lo在另一个字符串中使用AND搜索字符串数组

如何用 MySQL 中另一个字符串和一个字段的串联替换任何字符串

将字符串存储在另一个字符串的指针数组中

检查一个字符串是否包含Ruby中另一个字符串的所有字符

检查一个字符串是否在另一个字符串中的任何字符的最佳方法javascript

PHP-检查一个字符串是否包含另一个字符串中的任何字符

用不包括模式的另一个字符串替换字符串中的一个字符

使用一个字符串数组来拼接另一个数组?

如何从另一个字符串获取一个字符串值

查找一个字符串中有多少个条目在另一个字符串中

使用 for 循环在一个字符串中插入多个字符串

Ed:可以在一个字符串和另一个字符串之间替换吗?