我有一個字符串變量,它看起來是這樣的選擇只有一個字:fasdhkfsdk, 1 sdfs
從字符串
前面和後面的字符字符串中的量的大小將各色,但在逗號和二進制值將始終在那裏(值將從1變爲0)。
我需要一種方法來關閉二進制值的左右兩側的所有東西,只留下1或0.兩邊的字符數量確實發生了變化,所以我不認爲我可以使用substr或explode ,但我可能是錯的
非常感謝
ps是的,總是會有一逗號和二進制數字之前的空間
我有一個字符串變量,它看起來是這樣的選擇只有一個字:fasdhkfsdk, 1 sdfs
從字符串
前面和後面的字符字符串中的量的大小將各色,但在逗號和二進制值將始終在那裏(值將從1變爲0)。
我需要一種方法來關閉二進制值的左右兩側的所有東西,只留下1或0.兩邊的字符數量確實發生了變化,所以我不認爲我可以使用substr或explode ,但我可能是錯的
非常感謝
ps是的,總是會有一逗號和二進制數字之前的空間
你可以使用正則表達式是這樣的:
$string = "fasdhkfsdk, 1 sdfs";
echo preg_replace("[^01]", "", $string);
,將刪除一切,但0和1,如果你確定字串將只能從字母字符
實施例1 sscanf
$string = "fasdhkfsdk, 1 sdfs" ;
$part = sscanf($string, "%s %d %s");
echo $part[1];
另一個實施例與sscanf
$string = "fasdhkfsdk, 1 sdfs" ;
$part = sscanf($string, "%s %d %s",$prifix,$number,$sufix);
print($number);
實施例2 preg_match_all
$string = "fasdhkfsdk, 1 sdfs" ;
preg_match_all('!\d+!', $string, $matches);
print($matches[0][0]);
例3 filter_var
$string = "fasdhkfsdk, 1 sdfs" ;
$int = filter_var($string, FILTER_SANITIZE_NUMBER_INT);
print($int);
例4 substr
與strrpos
//credit: slugonamission
$string = "fasdhkfsdk, 1 sdfs" ;
echo trim(substr($string , strrpos($string,",") + 1 ,2));
輸出
1
你應該給regular expressions一試。
正則表達式完全是這個過度。你知道逗號會在那裏,所以在逗號上運行'strrpos'並使用'substring'。 – slugonamission
@slugonamission,但我們不知道這是否將是唯一的逗號! –
我通常假設在這種情況下它會:P。 – slugonamission
試試這個:爆炸字符串,如 $r = explode(",",$string)
然後只需訪問數組$ r的第二部分並獲取第二個字符。
echo $r[1][1];
或類似的東西。
你只是想讓二進制值正確嗎?你想知道它是否是一個1或0 嘗試
$ar = explode(",", "fasdhkfsdk, 1 sdfs"); // split on the comma
echo(intval($ar[1])); // convert everything after the comma to an int. should be 0 or 1
是始終存在的二元前一個逗號? – rationalboss
會是字符串中唯一的逗號嗎? –
將是唯一的數字字符,它周圍是否會有空格? – Vaughan