二重引用符を置き換える必要がありますが、フィールドを空の値に置き換える必要はありません。
質問:空の列を置き換えずに二重二重引用符を置き換えるにはどうすればよいですか?
オリジナルライン
"" COTTAGE ""、 "PENNINGTON、NJ"、 ""、 "123456789"
期待される結果
"COTTAGE"、 "PENNINGTON、NJ"、 ""、 "123456789"
トリックを実行するクラスを作成しましたが、空のフィールドを含むすべての二重引用符を置き換えます。
私のコードの結果
"COTTAGE"、 "PENNINGTON、NJ"、 "、" 123456789 "
ご覧のとおり、私のコードはCOTTAGEを修正しますが、NJの後に空の列を削除して、単一引用符を付けます。
パブリッククラスFixFileErrors
Public Shared Sub RemoveDoubleDoubleQuotes(ByVal FilePathandName As String) Dim OriginalFile, RevisedFile, LineofText As String OriginalFile = FilePathandName RevisedFile = Replace(OriginalFile, ".txt", "revised.txt") Dim srFileReader As System.IO.StreamReader srFileReader = System.IO.File.OpenText(OriginalFile) 'Dim srFileWritter As System.IO.StreamWriter Dim srFileWritter As New System.IO.StreamWriter(RevisedFile) Do Until srFileReader.EndOfStream LineofText = srFileReader.ReadLine LineofText = ReplaceDoubleDoubleQuotes(LineofText) srFileWritter.WriteLine(LineofText) LineofText = Nothing Loop End Sub Public Shared Function ReplaceDoubleDoubleQuotes(ByVal Line As String) As String Dim NewLine As String Dim strFindText As String = Chr(34) & Chr(34) Dim strReplaceText As String = Chr(34) NewLine = Replace(Line, strFindText, strReplaceText) Return NewLine End Function
エンドクラス