下面我们有两个文件名,扩展名为.pdf
。如果我分割两个文件名,它会输出错误的输出。任何人都知道如何使用.pdf
或任何格式拆分文件?
我已经放置了代码和输出。
dim ssfile() as string
Dim sscheck As String="Your Weekend (Supp. to Press and Journal, Aberdeen)_20140205_004.pdf,Your Weekend (Supp. to Press and Journal, Aberdeen) _11111111_004.pdf"
ssfile= sscheck .Split(".pdf,")
我得到的输出如下:
ssfile(1)='Your Weekend (Supp'
ssfile(2)='to Press and Journal, Aberdeen)_20140205_004'
ssfile(3)='pdf,Your Weekend (Supp'
ssfile(4)='to Press and Journal, Aberdeen) _11111111_004'
ssfile(5)='pdf'
但我需要一个输出:
ssfile(1)='Your Weekend (Supp. to Press and Journal, Aberdeen)_20140205_004.pdf'
ssfile(2)='Your Weekend (Supp. to Press and Journal, Aberdeen) _11111111_004.pdf'
谢谢
答案 0 :(得分:1)
您需要设置string.Split
的正确重载ssfile= sscheck.Split(new string() {".pdf,"}, StringSplitOptions.RemoveEmptyEntries)
但之后,第一个文件松开了它的扩展名,所以你需要读取它
ssFile(0) = ssFile(0) & ".pdf"
顺便说一句,您的实际结果似乎是在项目中将Option Strict设置为Off的效果。这允许将字符串的第一个字符隐式转换为单个char,从而选择错误的Split重载(只需要一个char)。
我真的建议您将项目的Option Strict更改为On,即使您第一次尝试修复时也会遇到很多错误。
答案 1 :(得分:0)
if (args[0] != null) {
String path = System.getProperty("user.dir");
String fileName = args[0];
String nameOfFile[] = fileName.split("\\.(?=[^\\.]+$)");
if (nameOfFile[1].equals("docx"))
new DocToXmlConverter().processDocxToXml(path, nameOfFile[0]);
else if (nameOfFile[1].equals("doc"))
new DocToXmlConverter().processDocToXml(path, nameOfFile[0]);
else
throw new Exception("please provide Correct File Extension");
}