所以我有一个方法,使用一个删除“null(U)”引用的分隔符将一个文件复制到另一个文件,输入文件看起来像...
C:\Documents and Settings\workspace\Extracted Items\image2.jpeg;image0;null(U) keyword1, keyword2, keyword3, keyword4,
C:\Documents and Settings\workspace\Extracted Items\image3.jpeg;image1;null(U) keyword1, keyword2, keyword3, keyword4,
C:\Documents and Settings\workspace\Extracted Items\image4.jpeg;image2;null(U) keyword1, keyword2, keyword3, keyword4,
C:\Documents and Settings\workspace\Extracted Items\image5.jpeg;image3;null keyword1, keyword2, keyword3, keyword4,
...输出文件看起来像......
C:\Documents and Settings\workspace\Extracted Items\image2.jpeg;image0;keyword1, keyword2, keyword3, keyword4,
C:\Documents and Settings\workspace\Extracted Items\image3.jpeg;image1;keyword1, keyword2, keyword3, keyword4,
C:\Documents and Settings\workspace\Extracted Items\image4.jpeg;image2;keyword1, keyword2, keyword3, keyword4,
C:\Documents and Settings\workspace\Extracted Items\image5.jpeg;image3;null keyword1, keyword2, keyword3, keyword4,
关于我的分隔符的小块代码,我有......
Scanner reader = new Scanner(inputFile);
reader.useDelimiter("null\\(U\\) ");
然而,我想知道,如果我想指定分隔符应该寻找的多个模式(即除了“null(U)”之外,我想添加“null”),我将如何去做?我在网上看到了一些例子,但我仍然不确定分隔符如何区分各种模式。非常感谢任何建议!
答案 0 :(得分:3)
您可以使用正则表达式并使用以下内容创建模式:
Pattern p = Pattern.compile("your regex here");
然后将该模式提供给useDelimiter(p)
方法。
正则表达式可能类似于(null\\s)|(null\\(U\\)\\s)