回答編集履歴
6
ミス
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
同様の判定を複数回つかうようなら、
|
2
2
|
例えば下記のような拡張メソッドを使用するのも手だと思います。
|
3
3
|
|
4
|
-
※`RemoveWhiteSpace()`の処理方法はpapinianusさんが指摘されている内容に変更しました。
|
4
|
+
※`RemoveWhiteSpace()`の処理方法はpapinianusさんが指摘されている内容に変更しました。(System.Linqの参照が必要です。)
|
5
5
|
```csharp
|
6
6
|
using System.Linq;
|
7
7
|
|
@@ -41,7 +41,7 @@
|
|
41
41
|
/// <param name="str"></param>
|
42
42
|
public static string RemoveWhiteSpace(this string str)
|
43
43
|
{
|
44
|
-
return string.Join("",
|
44
|
+
return string.Join("", str.Where(c => !char.IsWhiteSpace(c)));
|
45
45
|
}
|
46
46
|
}
|
47
47
|
```
|
5
papinianusさんの指摘に変更
answer
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
同様の判定を複数回つかうようなら、
|
2
2
|
例えば下記のような拡張メソッドを使用するのも手だと思います。
|
3
3
|
|
4
|
+
※`RemoveWhiteSpace()`の処理方法はpapinianusさんが指摘されている内容に変更しました。
|
4
5
|
```csharp
|
6
|
+
using System.Linq;
|
7
|
+
|
5
8
|
public static class StringExtensions
|
6
9
|
{
|
7
10
|
/// <summary>
|
@@ -38,7 +41,7 @@
|
|
38
41
|
/// <param name="str"></param>
|
39
42
|
public static string RemoveWhiteSpace(this string str)
|
40
43
|
{
|
41
|
-
return
|
44
|
+
return string.Join("", s.Where(c => !char.IsWhiteSpace(c)));
|
42
45
|
}
|
43
46
|
}
|
44
47
|
```
|
4
。
answer
CHANGED
@@ -33,7 +33,7 @@
|
|
33
33
|
}
|
34
34
|
|
35
35
|
/// <summary>
|
36
|
-
/// この文字列から半角/全角スペースを取り除いた文字列を返却します
|
36
|
+
/// この文字列から半角/全角スペースを取り除いた文字列を返却します。
|
37
37
|
/// </summary>
|
38
38
|
/// <param name="str"></param>
|
39
39
|
public static string RemoveWhiteSpace(this string str)
|
3
サマリコメントを追加
answer
CHANGED
@@ -4,20 +4,42 @@
|
|
4
4
|
```csharp
|
5
5
|
public static class StringExtensions
|
6
6
|
{
|
7
|
+
/// <summary>
|
8
|
+
/// この文字列が空白文字だけで構成されているかどうかを示します。
|
9
|
+
/// </summary>
|
10
|
+
/// <param name="str"></param>
|
11
|
+
/// <returns></returns>
|
7
12
|
public static bool IsWhiteSpaceOnly(this string str)
|
8
13
|
{
|
9
14
|
return !str.IsNullOrEmpty() && str.IsNullOrWhiteSpace();
|
10
15
|
}
|
11
16
|
|
17
|
+
/// <summary>
|
18
|
+
/// この文字列が null または System.String.Empty 文字列であるかどうかを示します。
|
19
|
+
/// </summary>
|
20
|
+
/// <param name="str"></param>
|
12
21
|
public static bool IsNullOrEmpty(this string str)
|
13
22
|
{
|
14
23
|
return string.IsNullOrEmpty(str);
|
15
24
|
}
|
16
25
|
|
26
|
+
/// <summary>
|
27
|
+
/// この文字列が null または空であるか、空白文字だけで構成されているかどうかどうかを示します。
|
28
|
+
/// </summary>
|
29
|
+
/// <param name="str"></param>
|
17
30
|
public static bool IsNullOrWhiteSpace(this string str)
|
18
31
|
{
|
19
32
|
return string.IsNullOrWhiteSpace(str);
|
20
33
|
}
|
34
|
+
|
35
|
+
/// <summary>
|
36
|
+
/// この文字列から半角/全角スペースを取り除いた文字列を返却します・
|
37
|
+
/// </summary>
|
38
|
+
/// <param name="str"></param>
|
39
|
+
public static string RemoveWhiteSpace(this string str)
|
40
|
+
{
|
41
|
+
return str.Replace(" ", string.Empty).Replace(" ", string.Empty);
|
42
|
+
}
|
21
43
|
}
|
22
44
|
```
|
23
45
|
考え方としては、
|
@@ -37,6 +59,8 @@
|
|
37
59
|
else
|
38
60
|
{
|
39
61
|
string Sei = sei.Replace(" ", string.Empty).Replace(" ", string.Empty);
|
62
|
+
// 前述の拡張メソッドを使用するならこう
|
63
|
+
// string Sei = sei.RemoveWhiteSpace();
|
40
64
|
}
|
41
65
|
```
|
42
66
|
質問者さんはReplaceメソッドを勘違いされてると思うのですが、
|
2
捕捉
answer
CHANGED
@@ -20,7 +20,13 @@
|
|
20
20
|
}
|
21
21
|
}
|
22
22
|
```
|
23
|
+
考え方としては、
|
24
|
+
* `string.IsNullOrEmpty`は「文字列がnullもしくは空文字("")かどうか」
|
25
|
+
* `string.IsNullOrWhiteSpace`は「文字列がnullもしくは空文字("")もしくは半角/全角スペースかどうか」
|
26
|
+
をそれぞれ判定するメソッドです。
|
23
27
|
|
28
|
+
`空白文字のみ`かどうかは上記2つを組み合わせることで判定できます。
|
29
|
+
|
24
30
|
### 使い方
|
25
31
|
```csharp
|
26
32
|
//姓と名のスペースの判定
|
@@ -30,6 +36,9 @@
|
|
30
36
|
}
|
31
37
|
else
|
32
38
|
{
|
33
|
-
string Sei = sei.Replace(" ", string.Empty).Replace(" ", string.Empty);
|
39
|
+
string Sei = sei.Replace(" ", string.Empty).Replace(" ", string.Empty);
|
34
40
|
}
|
35
|
-
```
|
41
|
+
```
|
42
|
+
質問者さんはReplaceメソッドを勘違いされてると思うのですが、
|
43
|
+
Replaceメソッドは、「第一引数の文字を、第二引数の文字に置換する」処理です。
|
44
|
+
`sei.Replace(" ", " ");`だと、半角スペースを全角スペースに置換することになります。
|
1
使い方の説明
answer
CHANGED
@@ -19,4 +19,17 @@
|
|
19
19
|
return string.IsNullOrWhiteSpace(str);
|
20
20
|
}
|
21
21
|
}
|
22
|
+
```
|
23
|
+
|
24
|
+
### 使い方
|
25
|
+
```csharp
|
26
|
+
//姓と名のスペースの判定
|
27
|
+
if (sei.IsWhiteSpaceOnly())
|
28
|
+
{
|
29
|
+
// 空白文字のみの時に行いたい処理
|
30
|
+
}
|
31
|
+
else
|
32
|
+
{
|
33
|
+
string Sei = sei.Replace(" ", string.Empty).Replace(" ", string.Empty);
|
34
|
+
}
|
22
35
|
```
|