回答編集履歴

2

ヘディング範囲を修正

2016/11/17 10:04

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -17,6 +17,8 @@
17
17
  ```
18
18
 
19
19
  > "01asp 01 05csp 10 10asp 15bsp" => "1 1 5 10 10 15 "
20
+
21
+
20
22
 
21
23
  ###"01asp","01","05csp","10","10asp","15bsp"と別の文字列の場合
22
24
 

1

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

2016/11/17 10:04

投稿

Y.H.
Y.H.

スコア7914

test CHANGED
@@ -10,13 +10,13 @@
10
10
 
11
11
  $resultString = preg_replace('/[^0-9]+/', " ", $srcString);
12
12
 
13
+ $resultString = ltrim(preg_replace('/(^[0]+| [0]+)/', " ", $resultString));
14
+
13
- echo $srcString . " => " . $resultString . PHP_EOL;
15
+ echo '"' . $srcString . '"' . " => " . '"' . $resultString . '"' . PHP_EOL;
14
16
 
15
17
  ```
16
18
 
17
- > 01asp 01 05csp 10 10asp 15bsp => 01 01 05 10 10 15
19
+ > "01asp 01 05csp 10 10asp 15bsp" => "1 1 5 10 10 15 "
18
-
19
-
20
20
 
21
21
  ###"01asp","01","05csp","10","10asp","15bsp"と別の文字列の場合
22
22
 
@@ -24,15 +24,13 @@
24
24
 
25
25
  <?php
26
26
 
27
- $srcStringArray = array("01asp","01","05csp","10","10asp","15bsp";
27
+ $srcStringArray = explode(" ", preg_replace('/ /', " ", $srcString));
28
28
 
29
29
  foreach ($srcStringArray as $val) {
30
30
 
31
- ' まぁ上と同じなんですが
31
+ $resultString = trim(ltrim(preg_replace('/[^0-9]+/', " ", $val), "0"));
32
32
 
33
- $resultString = ltrim(preg_replace('/[^0-9]+/', " ", $val), "0");
34
-
35
- echo $val . " => " . $resultString . PHP_EOL;
33
+ echo '"' . $val . '"' . " => " . '"' . $resultString . '"' . PHP_EOL;
36
34
 
37
35
  }
38
36
 
@@ -40,17 +38,17 @@
40
38
 
41
39
 
42
40
 
43
- > 01asp => 1
41
+ > "01asp" => "1"
44
42
 
45
- > 01 => 1
43
+ > "01" => "1"
46
44
 
47
- > 05csp => 5
45
+ > "05csp" => "5"
48
46
 
49
- > 10 => 10
47
+ > "10" => "10"
50
48
 
51
- > 10asp => 10
49
+ > "10asp" => "10"
52
50
 
53
- > 15bsp => 15
51
+ > "15bsp" => "15"
54
52
 
55
53
 
56
54