文字と数字を含む単語を、文字変数の 2 つの部分と変数の数字に分けるにはどうすればよいですか。
例:
<?
$x = "f25";
?>
新しい変数 $L="f"; への文字を取得したい。および別の変数への数 $N=25;
どうもありがとう
これは、次のようpreg_split()
に に適切なフラグを渡すことで、ルックアラウンドなしで実現できます。preg_split()
$x = "f25";
list( $L, $N) = preg_split( '/([a-z]+)/i', $x, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
var_dump( $L, $N);
これは出力します:
string(1) "f" string(2) "25"
print_r(preg_split('#(?<=\d)(?=[0-9])#i', "f25"));
版画
Array
(
[0] => 5
[1] => f
)
正規表現の代替として
$x = "f25";
list($L,$N) = sscanf($x,'%[A-Z]%d');