2013-02-16 51 views
3

我想写一个程序,在这个程序中我必须对一个字符串列表与一个模板(本质上是一个字符串)进行比较。我不确定使用的术语是什么,但如果有帮助的话,它将更多地是日志抓取程序。比较一个字符串和一个像字符串这样的模板

输入字符串的例子:

  1. 的Hello World这是我
  2. 你好陌生的世界,这是一个人
  3. 这是一个测试文件
  4. 的Hello World这是一个机器人

对比

a。这是一个档案

b。你好世界这是

这个想法是将输入语句(1-4)与模板字符串(a-b)匹配,如果它们匹配,那么我需要对它们采取行动。像1 & 4匹配句b没有。

在此先感谢帮助/指示。

+3

模板串让我觉得你应该使用正则表达式! – Juvanis 2013-02-16 03:20:33

+0

在这种情况下,我可能用一个正则表达式替换***?***,然后将它与传入的字符串进行匹配? – Rox 2013-02-16 03:24:00

回答

1

更改?.*,你已经有了一个正则表达式:

String input = "Hello World this is me"; 

if (input.matches("Hello World this is .*")) 
    // true 

+0

对不起,如果我给了一个不好的例子,但我可能在句子中间有***?***字符串,我有点担心日志中的标点符号 – Rox 2013-02-16 03:27:16

+0

@Rox - 您可以使用正则表达式处理标点符号。阅读http://www.regular-expressions.info/和http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html – 2013-02-16 03:34:08

+0

@StephenC - 谢谢,我认为那样会帮帮我。干杯! – Rox 2013-02-16 03:37:23