簡體   English   中英

在字符串中的特定字符后獲取值

[英]Get value after particular character in string

我有一個字符串如下

$str = 'asdasdasd,sdfsdfsdf myNumber=1234, 2323 dfdfdf9898 sdfsdfdsf 234';

我想返回myNumber=1234內的數字。

期望的結果

$str = '1234';

目前,我在需要時使用以下正則表達式preg_replace('/\\myNumber=\\d+/', '', $y)進行替換,效果很好,但是我不確定如何使用它來提取數字。 =來自myNumber=1234符號?

您可以使用以下功能:

function getStringBetween($str, $from, $to)
{
    $sub = substr($str, strpos($str, $from) + strlen($from), strlen($str));
    return substr($sub, 0, strpos($sub, $to));
}

然后,您可以通過以下方式使用它:

$a = getStringBetween($str, 'myNumber=', ',');

這將為您提供輸出1234,因為它在給定字符串之間。

您可以將preg_match與以下正則表達式配合使用:

\bmyNumber=(\d+)

正則表達式演示

該值將在組1中可用。 (\\d+)匹配並捕獲 1+個數字到組中,該組將成為結果數組的一部分。

演示

$re = '~\bmyNumber=(\d+)~'; 
$str = "asdasdasd,sdfsdfsdf myNumber=1234, 2323 dfdfdf9898 sdfsdfdsf 234"; 
preg_match($re, $str, $m);
echo $m[1];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM