前提・実現したいこと
文字の末尾についている空白を削除するため、String.Trim メソッドを使用したが空白の削除ができなかった
今回削除できなかった空白の原因について知りたい
- 今回の空白削除に関してはReplaceメソッドで対応した
- MSのdocsを見て、削除できない空白の存在が有ることが分かったが、今回の件と関係があるのか不明なため原因を追求したい
発生している問題・エラーメッセージ
変数mcの中身はデータベースから取ってきています(mnは今回関係ありません)
削除できない空白を持っていたデータ
変数mcの末尾空白を削除したいと考えています
mc | mn |
---|---|
0011 | 一週間以内 |
C#
1class letter 2 { 3 public String mc{ get; set; } 4 public String mn{ get; set; } 5 ///他のプロパティが続く 6 }
該当のソースコード
Trimでmcの末尾空白を消去できず、結果が11 000 となり困っていました(欲しい結果は11000)
C#
1public static string convert(string mc) 2 { 3 4 //確認用にUTF8コードを取得 5 6 //↓のTrimができなかったため、returnでReplaceを使用した 7 mc.Trim(); 8 return mc.StartsWith("00") 9 ? (mc.TrimStart('0') + "000").Replace(" ", "") 10 : mc.Replace(" ", ""); 11 12 } 13
試したこと
mc = 0011 を文字コードに変換すれば何かわかるかなと思い、以下のコードに変換しました
UFT8コードについては、上記メソッド内で変換しています
- UFT8コード:30-30-31-31-20
C#
1 //確認用にUTF8コードを取得 2 var utf8 = System.Text.Encoding.UTF8.GetBytes(mc); 3 var s = BitConverter.ToString(utf8);
- Unicode:U+0030 U+0030 U+0031 U+0031 U+0020
Unicodeはオレンジ工房様 (http://orange-factory.com/sample/utf8/code1.html) の文字コード表を参考にさせていただきました
補足情報(FW/ツールのバージョンなど)
.NET Framework4
Visual Studio 2010 Format Version 11.00
回答2件
あなたの回答
tips
プレビュー