質問編集履歴

1

作成途中で送信したため訂正

2020/11/28 11:36

投稿

CM8IclfMMgeXJve
CM8IclfMMgeXJve

スコア1

test CHANGED
@@ -1 +1 @@
1
- PowerShell:Import-Csvの返却値から空白文字(半角スペース)のみのデータかを判定したい
1
+ PowerShell:Import-Csvの返却値から空白文字(半角スペース)と空文字切り分けて判定したい
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  powershellを独学で勉強中です。
6
6
 
7
- Import-Csvの返却値から空白文字(半角スペース)のみのデータかを判定したいです。
7
+ Import-Csvの返却値から空白文字(半角スペース)と空文字切り分けて判定したいです。
8
8
 
9
9
 
10
10
 
@@ -14,21 +14,21 @@
14
14
 
15
15
 
16
16
 
17
- 以下のTSVファイルに
17
+ 以下のTSVファイルをImpot-Csvで読み込むと1行目と2行目の1列目は空文字(文字長0)が返却されます。1行目は半角スペース3桁を設定しているのですがImport-Csvで空文字が返却されるのはImport-Csvの仕様なのでしょうか。試し3行目で半角スペース3桁を""で囲んだところ半角スペース3桁が返却されます。ただ、可能であればTSVファイルを書き換えることなく、Import-Csvの返却から空白文字(半角スペース)と空文字を切り分けて判定たいのですが、何か方法はありますでしょうか。
18
18
 
19
19
 
20
20
 
21
21
  ```
22
22
 
23
- 1 aaa bbb ccc
24
-
25
- 2 ddd eee #1列目は半角スペース3桁
26
-
27
- 3 " " fff ggg
28
-
29
- 4 hhh iii #1列目は空文字
30
23
 
31
24
 
25
+
26
+
27
+ 1 aaa bbb #1列目は半角スペース3桁
28
+
29
+ 2 ccc ddd #1列目は空文字
30
+
31
+ 3 " " eee fff
32
32
 
33
33
  ```
34
34
 
@@ -52,11 +52,25 @@
52
52
 
53
53
 
54
54
 
55
+
56
+
55
57
  $tsvfile = GetTsvfile
56
58
 
57
59
 
58
60
 
59
- $KARI3 = $tsvfile | ? {[String]::IsNullOrWhiteSpace($_.AAA)}
61
+ $TSVDATA = $tsvfile | ? {[String]::IsNullOrWhiteSpace($_.AAA)}
62
+
63
+ $TSVDATA
64
+
65
+
66
+
67
+ Write-Output "---文字長---"
68
+
69
+ $TSVDATA[0].AAA.Length
70
+
71
+ $TSVDATA[1].AAA.Length
72
+
73
+ $TSVDATA[2].AAA.Length
60
74
 
61
75
 
62
76
 
@@ -64,11 +78,27 @@
64
78
 
65
79
 
66
80
 
81
+ <結果>
82
+
67
- ### 試したこと
83
+ AAA BBB CCC
84
+
85
+ --- --- ---
86
+
87
+ aaa bbb
88
+
89
+ ccc ddd
90
+
91
+ eee fff
92
+
93
+ ---文字長---
94
+
95
+ 0
96
+
97
+ 0
98
+
99
+ 3
68
100
 
69
101
 
70
-
71
- ここに問題に対して試したことを記載してください。
72
102
 
73
103
 
74
104
 
@@ -76,4 +106,28 @@
76
106
 
77
107
 
78
108
 
79
- ここにより詳細な情報を記載してください。
109
+ PS > $PSVersionTable
110
+
111
+
112
+
113
+ Name Value
114
+
115
+ ---- -----
116
+
117
+ PSVersion 7.0.3
118
+
119
+ PSEdition Core
120
+
121
+ GitCommitId 7.0.3
122
+
123
+ OS Darwin 19.6.0 Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:…
124
+
125
+ Platform Unix
126
+
127
+ PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
128
+
129
+ PSRemotingProtocolVersion 2.3
130
+
131
+ SerializationVersion 1.1.0.1
132
+
133
+ WSManStackVersion 3.0