回答編集履歴

6

ミス

2019/01/16 03:28

投稿

runny_nose
runny_nose

スコア280

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- ※`RemoveWhiteSpace()`の処理方法はpapinianusさんが指摘されている内容に変更しました。
7
+ ※`RemoveWhiteSpace()`の処理方法はpapinianusさんが指摘されている内容に変更しました。(System.Linqの参照が必要です。)
8
8
 
9
9
  ```csharp
10
10
 
@@ -84,7 +84,7 @@
84
84
 
85
85
  {
86
86
 
87
- return string.Join("", s.Where(c => !char.IsWhiteSpace(c)));
87
+ return string.Join("", str.Where(c => !char.IsWhiteSpace(c)));
88
88
 
89
89
  }
90
90
 

5

papinianusさんの指摘に変更

2019/01/16 03:28

投稿

runny_nose
runny_nose

スコア280

test CHANGED
@@ -4,7 +4,13 @@
4
4
 
5
5
 
6
6
 
7
+ ※`RemoveWhiteSpace()`の処理方法はpapinianusさんが指摘されている内容に変更しました。
8
+
7
9
  ```csharp
10
+
11
+ using System.Linq;
12
+
13
+
8
14
 
9
15
  public static class StringExtensions
10
16
 
@@ -78,7 +84,7 @@
78
84
 
79
85
  {
80
86
 
81
- return str.Replace(" ", string.Empty).Replace(" ", string.Empty);
87
+ return string.Join("", s.Where(c => !char.IsWhiteSpace(c)));
82
88
 
83
89
  }
84
90
 

4

2019/01/16 03:27

投稿

runny_nose
runny_nose

スコア280

test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
  /// <summary>
70
70
 
71
- /// この文字列から半角/全角スペースを取り除いた文字列を返却します
71
+ /// この文字列から半角/全角スペースを取り除いた文字列を返却します
72
72
 
73
73
  /// </summary>
74
74
 

3

サマリコメントを追加

2019/01/16 02:55

投稿

runny_nose
runny_nose

スコア280

test CHANGED
@@ -10,6 +10,16 @@
10
10
 
11
11
  {
12
12
 
13
+   /// <summary>
14
+
15
+ /// この文字列が空白文字だけで構成されているかどうかを示します。
16
+
17
+ /// </summary>
18
+
19
+ /// <param name="str"></param>
20
+
21
+ /// <returns></returns>
22
+
13
23
  public static bool IsWhiteSpaceOnly(this string str)
14
24
 
15
25
  {
@@ -19,6 +29,14 @@
19
29
  }
20
30
 
21
31
 
32
+
33
+ /// <summary>
34
+
35
+ /// この文字列が null または System.String.Empty 文字列であるかどうかを示します。
36
+
37
+ /// </summary>
38
+
39
+ /// <param name="str"></param>
22
40
 
23
41
  public static bool IsNullOrEmpty(this string str)
24
42
 
@@ -30,11 +48,37 @@
30
48
 
31
49
 
32
50
 
51
+ /// <summary>
52
+
53
+ /// この文字列が null または空であるか、空白文字だけで構成されているかどうかどうかを示します。
54
+
55
+ /// </summary>
56
+
57
+ /// <param name="str"></param>
58
+
33
59
  public static bool IsNullOrWhiteSpace(this string str)
34
60
 
35
61
  {
36
62
 
37
63
  return string.IsNullOrWhiteSpace(str);
64
+
65
+ }
66
+
67
+   
68
+
69
+ /// <summary>
70
+
71
+ /// この文字列から半角/全角スペースを取り除いた文字列を返却します・
72
+
73
+ /// </summary>
74
+
75
+ /// <param name="str"></param>
76
+
77
+   public static string RemoveWhiteSpace(this string str)
78
+
79
+ {
80
+
81
+ return str.Replace(" ", string.Empty).Replace(" ", string.Empty);
38
82
 
39
83
  }
40
84
 
@@ -76,6 +120,10 @@
76
120
 
77
121
  string Sei = sei.Replace(" ", string.Empty).Replace(" ", string.Empty);
78
122
 
123
+ // 前述の拡張メソッドを使用するならこう
124
+
125
+ // string Sei = sei.RemoveWhiteSpace();
126
+
79
127
  }
80
128
 
81
129
  ```

2

捕捉

2019/01/16 02:54

投稿

runny_nose
runny_nose

スコア280

test CHANGED
@@ -42,6 +42,18 @@
42
42
 
43
43
  ```
44
44
 
45
+ 考え方としては、
46
+
47
+ * `string.IsNullOrEmpty`は「文字列がnullもしくは空文字("")かどうか」
48
+
49
+ * `string.IsNullOrWhiteSpace`は「文字列がnullもしくは空文字("")もしくは半角/全角スペースかどうか」
50
+
51
+ をそれぞれ判定するメソッドです。
52
+
53
+
54
+
55
+ `空白文字のみ`かどうかは上記2つを組み合わせることで判定できます。
56
+
45
57
 
46
58
 
47
59
  ### 使い方
@@ -62,8 +74,14 @@
62
74
 
63
75
  {
64
76
 
65
- string Sei = sei.Replace(" ", string.Empty).Replace(" ", string.Empty);
77
+ string Sei = sei.Replace(" ", string.Empty).Replace(" ", string.Empty);
66
78
 
67
79
  }
68
80
 
69
81
  ```
82
+
83
+ 質問者さんはReplaceメソッドを勘違いされてると思うのですが、
84
+
85
+ Replaceメソッドは、「第一引数の文字を、第二引数の文字に置換する」処理です。
86
+
87
+ `sei.Replace(" ", " ");`だと、半角スペースを全角スペースに置換することになります。

1

使い方の説明

2019/01/16 02:43

投稿

runny_nose
runny_nose

スコア280

test CHANGED
@@ -41,3 +41,29 @@
41
41
  }
42
42
 
43
43
  ```
44
+
45
+
46
+
47
+ ### 使い方
48
+
49
+ ```csharp
50
+
51
+ //姓と名のスペースの判定
52
+
53
+ if (sei.IsWhiteSpaceOnly())
54
+
55
+ {
56
+
57
+ // 空白文字のみの時に行いたい処理
58
+
59
+ }
60
+
61
+ else
62
+
63
+ {
64
+
65
+ string Sei = sei.Replace(" ", string.Empty).Replace(" ", string.Empty);
66
+
67
+ }
68
+
69
+ ```