0

基本的に私はこの文字列を持っています:

"We spent 10minutes talking while traveling 20kms"

どうすれば次のように変換できますか:

"We spent 10 minutes talking while traveling 20 kms"

基本的に、単語に付けられたすべての数字または数字を区切ります。

4

2 に答える 2

3

みんなの友達、正規表現を使うことができます!

$str = preg_replace("/\d+\B/", "$0 ", $str);

コードパッド

これは、直後に単語以外の境界がある一連の 10 進数に一致します。

または、これを行うこともできます...

$str = preg_replace("/(\d)(\D)/", "$1 $2", $str);

コードパッド

これは、10 進数以外の数が直後に続く 10 進数と一致します。

于 2013-07-30T02:35:17.050 に答える
1

これはうまくいくはずです:

$str = preg_replace('/(\d)([a-z])/i', '$1 $2', $str);

\d数字に[a-z]一致し、文字に一致します。

于 2013-07-30T02:35:38.930 に答える