gpt4 book ai didi

php - 正则表达式 PHP 在一定数量的# 字符后查找数字

转载 作者:行者123 更新时间:2023-12-04 22:25:48 24 4
gpt4 key购买 nike

假设我有以下行:

09:00 23/02/2012#3.5#2.2#91#3.7#7.4#170#S#1033.1#(+1 Hpa / 3H).#0#3H##4.5#Plus de 2500m #6####00#### Brume.#

我想找到第15个#之后的第一个数字或字符
在本例中,我要查找的数字是 6。

在这个例子中:

03:00 24/02/2012#8.9#5.5#79#3.7#5.55#190#S#1031.3#(-1.1 Hpa / 3H).#0#3H##10#300 et 600m#7####00#####

我要找的数字是 7。

但它并不总是一个数字,例如在这一行中:

00:00 29/02/2012#3.3#-0.2#78##3.7##N#1023.6#(+0.3 Hpa / 3H).#0#3H##22#Plus de 2500m######### Le ciel est clair.#

第15个#之后的字符也是#。

那么如何使用 PHP 正则表达式获取这个数字或字符呢?

我试过了

$content = '09:00 23/02/2012#3.5#2.2#91#3.7#7.4#170#S#1033.1#(+1 Hpa / 3H).#0#3H##4.5#Plus de 2500m #6####00#### Brume.#';

$iparr = preg_split ("/#/", $content);

echo $iparr[16];

但是对于第三个例子,它什么也没给出。 (因为连续2个#)

最佳答案

你可以使用explode

$parts = explode('#', $string, 16);

$item = substr($parts[15], 0, 1);

而在 PHP >= 5.4.0 中,你可以这样写:

$string = '09:00 23/02/2012#3.5#2.2#91#3.7#7.4#170#S#1033.1#(+1 Hpa / 3H).#0#3H##4.5#Plus de 2500m #6####00#### Brume.#';
$index = 16;

var_dump(explode('#', $string)[$index - 1]);

关于php - 正则表达式 PHP 在一定数量的# 字符后查找数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17170662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com