VB.NET连接字符串会添加不需要的空间(VB.NET concatenating strings adds unwanted space)

编程入门 行业动态 更新时间:2024-10-10 15:28:38
VB.NET连接字符串会添加不需要的空间(VB.NET concatenating strings adds unwanted space)

我完全搞不明白为什么会发生这种情况。 我正在编写一个小型应用程序,以图像文件为前缀属性添加前缀。 但是,当我追加.jpg扩展名时,它会在文件名和扩展名之间添加一个空格。 例如“2017-11-07_13:04:01.jpg”。

Private Function ProcessFile(ByVal path As String) As String Const DATE_TAKEN As Integer = &H9003 Dim img As Image = Image.FromFile(path) Dim dateTaken As String Dim pitem As PropertyItem If img.PropertyIdList.Contains(DATE_TAKEN) Then pitem = img.GetPropertyItem(DATE_TAKEN) dateTaken = Encoding.UTF8.GetString(pitem.Value, 0, pitem.Value.Length).ToString dateTaken = Trim(Replace(Replace(dateTaken, ":", "-"), " ", "_")) dateTaken = Replace(dateTaken & ".jpg", " ", "") Else dateTaken = "Not available" End If img.Dispose() pitem = Nothing Return dateTaken End Function

正如你所看到的那样,我试图通过修剪和替换来替换空间,但没有任何作用。

I'm completely mystified why this is happening. I'm writing a small app to prefix image files with the date-taken property. However when I append the .jpg extension it adds a space between the filename and the extension. For example "2017-11-07_13:04:01 .jpg".

Private Function ProcessFile(ByVal path As String) As String Const DATE_TAKEN As Integer = &H9003 Dim img As Image = Image.FromFile(path) Dim dateTaken As String Dim pitem As PropertyItem If img.PropertyIdList.Contains(DATE_TAKEN) Then pitem = img.GetPropertyItem(DATE_TAKEN) dateTaken = Encoding.UTF8.GetString(pitem.Value, 0, pitem.Value.Length).ToString dateTaken = Trim(Replace(Replace(dateTaken, ":", "-"), " ", "_")) dateTaken = Replace(dateTaken & ".jpg", " ", "") Else dateTaken = "Not available" End If img.Dispose() pitem = Nothing Return dateTaken End Function

As you can see I've tried to replace the space by trimming and replacing but nothing works.

最满意答案

从文件中获取日期时,它包含一个“VbNullChar”

您需要做的就是添加一行代码来修剪它。

Private Function ProcessFile(ByVal path As String) As String Const DATE_TAKEN As Integer = &H9003 Dim img As Image = Image.FromFile(path) Dim dateTaken As String Dim pitem As PropertyItem If img.PropertyIdList.Contains(DATE_TAKEN) Then pitem = img.GetPropertyItem(DATE_TAKEN) dateTaken = Encoding.UTF8.GetString(pitem.Value, 0, pitem.Value.Length).ToString dateTaken = dateTaken.Trim(vbNullChar) dateTaken = Trim(Replace(Replace(dateTaken, ":", "-"), " ", "_")) dateTaken = Replace(dateTaken & ".jpg", " ", "") Else dateTaken = "Not available" End If img.Dispose() pitem = Nothing Return dateTaken End Function

When you get the date from the file, it includes a `VbNullChar"

All you need to do is add in a line of code to trim that out ..

Private Function ProcessFile(ByVal path As String) As String Const DATE_TAKEN As Integer = &H9003 Dim img As Image = Image.FromFile(path) Dim dateTaken As String Dim pitem As PropertyItem If img.PropertyIdList.Contains(DATE_TAKEN) Then pitem = img.GetPropertyItem(DATE_TAKEN) dateTaken = Encoding.UTF8.GetString(pitem.Value, 0, pitem.Value.Length).ToString dateTaken = dateTaken.Trim(vbNullChar) dateTaken = Trim(Replace(Replace(dateTaken, ":", "-"), " ", "_")) dateTaken = Replace(dateTaken & ".jpg", " ", "") Else dateTaken = "Not available" End If img.Dispose() pitem = Nothing Return dateTaken End Function

更多推荐

本文发布于:2023-08-06 10:28:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1447626.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:不需要   字符串   空间   NET   VB

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!