teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

ヘディング範囲を修正

2016/11/17 10:04

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -8,6 +8,7 @@
8
8
  echo '"' . $srcString . '"' . " => " . '"' . $resultString . '"' . PHP_EOL;
9
9
  ```
10
10
  > "01asp 01 05csp 10 10asp 15bsp" => "1 1 5 10 10 15 "
11
+
11
12
  ###"01asp","01","05csp","10","10asp","15bsp"と別の文字列の場合
12
13
  ```php
13
14
  <?php

1

コード間違ってたので修正

2016/11/17 10:04

投稿

Y.H.
Y.H.

スコア7918

answer CHANGED
@@ -4,27 +4,26 @@
4
4
  <?php
5
5
  $srcString = "01asp 01 05csp 10 10asp 15bsp";
6
6
  $resultString = preg_replace('/[^0-9]+/', " ", $srcString);
7
+ $resultString = ltrim(preg_replace('/(^[0]+| [0]+)/', " ", $resultString));
7
- echo $srcString . " => " . $resultString . PHP_EOL;
8
+ echo '"' . $srcString . '"' . " => " . '"' . $resultString . '"' . PHP_EOL;
8
9
  ```
9
- > 01asp 01 05csp 10 10asp 15bsp => 01 01 05 10 10 15
10
+ > "01asp 01 05csp 10 10asp 15bsp" => "1 1 5 10 10 15 "
10
-
11
11
  ###"01asp","01","05csp","10","10asp","15bsp"と別の文字列の場合
12
12
  ```php
13
13
  <?php
14
- $srcStringArray = array("01asp","01","05csp","10","10asp","15bsp";
14
+ $srcStringArray = explode(" ", preg_replace('/ /', " ", $srcString));
15
15
  foreach ($srcStringArray as $val) {
16
- ' まぁ上と同じなんですが
17
- $resultString = ltrim(preg_replace('/[^0-9]+/', " ", $val), "0");
16
+ $resultString = trim(ltrim(preg_replace('/[^0-9]+/', " ", $val), "0"));
18
- echo $val . " => " . $resultString . PHP_EOL;
17
+ echo '"' . $val . '"' . " => " . '"' . $resultString . '"' . PHP_EOL;
19
18
  }
20
19
  ```
21
20
 
22
- > 01asp => 1
21
+ > "01asp" => "1"
23
- > 01 => 1
22
+ > "01" => "1"
24
- > 05csp => 5
23
+ > "05csp" => "5"
25
- > 10 => 10
24
+ > "10" => "10"
26
- > 10asp => 10
25
+ > "10asp" => "10"
27
- > 15bsp => 15
26
+ > "15bsp" => "15"
28
27
 
29
28
 
30
29
  まさか ```"01asp 01 05csp 10 10asp 15bsp"