使用扩展名的文件名拆分选项

时间:2014-02-22 10:15:39

标签: vb.net

下面我们有两个文件名,扩展名为.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'

谢谢

2 个答案:

答案 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");
}