我有一个变量images,它是一个字符串。 images的值采用以下格式:
"['C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB01.JPG';'C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB02.JPG']"
如何将images的值转换为在开头和结尾都没有双引号的内容(或者应该将String更改为其他类型的变量?我想要的格式是:
['C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB01.JPG';'C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB02.JPG']
无双引号
谢谢
String类具有一个Replace方法将执行此操作。
Dim clean as String
clean = images.Replace("""","")
我仍然遇到错误。如您在此图片中所看到的/a/img691/8201/bdaq.jpg,在开头和结尾仍然有双引号。顺便说一下,我将images变量传递给了我在MATLAB中创建的函数,这就是为什么image的值应像这样的[C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB01.JPG;C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB02.JPG]
错误消息是什么?替换字符串时收到错误消息还是错误来自MATLAB中的函数?您是否检查了上面代码的输出?调试它。上面的代码中clean vererable的值是多少?我建议您在传递可验证图像的功能中寻找问题。
您可以阅读下面的我的评论吗?我已经在这里发布了错误。谢谢
将上面代码中的干净验证传递给您的MATLAB函数
我已经做到了,但是Matlab无法读取它,因为我的MATLAB正在读取开头和结尾的双引号
尝试这个...
Dim s as String ="['C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB01.JPG';'C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB02.JPG']"
s = s.Replace("'","").Trim()
如果将任何字符,单词,短语或句子甚至句子包含在双引号中,则将其视为字符串,但是如果字符串的值在字面上带有双引号(例如" SAMPLE"),并且您想要删除双引号,则请执行东西...
Dim s as String =""['C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB01.JPG';'C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB02.JPG']""
s = s.Replace("""","").Trim()
是的,我注意到了...双双引号...我将s等同于您所说的从MATLAB传递过来的东西,字符串在字面上具有双引号,因此要删除此字符串,请完全替换双双引号。这就是您在.NET中的操作方式。您的编译器将双双引号解释为单引号:)
我仍然遇到错误。如您在此图片中所看到的/a/img691/8201/bdaq.jpg,在开头和结尾仍然有双引号。顺便说一下,我将images变量传递给了我在MATLAB中创建的函数,这就是为什么image的值应像这样的[C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB01.JPG;C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB02.JPG]
@elvinguitar编辑了我的答案:)
尝试过,但没有用。我的MATLAB函数仍将其读取为"[C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB01.JPG;C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB02.JPG]",而我的matlab函数应按以下方式读取它(不带引号)[C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB01.JPG;C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB02.JPG]
我不认为MATLAB像您说的那样在读。它总是显示双引号,因为它是一个字符串。但是无论如何,我可能是错的,尝试将图片文件放在C:的根目录中,这可能是Elvin Gentiles之间的空间,这不太可能,但是如果您不知道错误在哪里,不妨尝试所有操作,因此像这样做... C: BLB02.JPG
我仍然遇到错误,并且由于变量是字符串,双引号引起了错误。有没有一种方法可以将String数据类型转换为另一种类型?我的意思是,它将保留像[C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB01.JPG;C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB02.JPG]这样的格式,而不是字符串
不幸的是,没有其他方法,目录位置应该并且必须是字符串。好吧,尝试一下...在将字符串传递给MATLAB之前,在消息框中输入整个字符串并将其粘贴在此处,然后验证其中的内容。
我有一个问题。如果您将目录位置字符串传递给MATLAB,为什么要用[和]括住位置字符串?尝试删除它以纯粹传递位置字符串。
实际上,我这样做是为了可以在Matlab中传递一系列位置。我的实际问题是如何将OpenFileDialog.FileNames传递给MATLAB,以便我的MATLAB可以将其读取为字符串数组。但我不知道这就是为什么我尝试这种方法
有多种与MATLAB,COM和API进行通信的方式,我不确定是否还有更多,但我不确定2。如果您导入MATLAB DLL,则很可能在API路由上进行。检查一下...这可能对您有帮助... social./Forums/en-US/
基于OP的评论,我认为有些混乱。也许您是来自MATLAB的.Net新手。
要在VB或C#.Net中重复,这是一个空字符串:
""
这是一个长度== 0的字符串。这与带引号或双引号的字符串不同。
接着说:
Dim singleQuoteString As String ="'"
Dim doubleQuoteString As String =""""
所以,你要的是什么
['C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB01.JPG';'C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB02.JPG']
不是字符串。
现在,如果您想让Textbox,控制台输出或其他显示该值的东西,只需输入字符串,例如
Dim listOfImagesAsAString ="['C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB01.JPG';'C:\Users\Elvin Gentiles\Desktop
iceLAB\BLB02.JPG']"
并将其分配到您想要的位置,例如
Console.Write(listOfImagesAsAString)
然后命令提示符将显示您的要求。