【问题标题】:Pattern matching a string against a template string [closed]将字符串与模板字符串匹配的模式[关闭]
【发布时间】:2014-04-28 15:33:56
【问题描述】:

我有以下信息

String templateString = "I am %NAME% and I live in %PLACE%"; 

String inputString = "I am John Doe and I live in New York";

我需要编写一个函数,它将接收上述 2 个字符串并返回一个成对的 HashMap。

HashMap<String,String> parseInputFromTemplate(templateString, inputString) {

  // Magic 
  return result;
}

结果会有

%NAME%(键),John Doe(值) %PLACE%(键),纽约(值)

任何指针将不胜感激。

【问题讨论】:

  • 这不是一个小问题。如果模板字符串中有合法的 % 怎么办?如果你能保证不会发生这种情况,这是 RegEx 中的一个练习。
  • 我可以保证 % 永远不会成为字符串的一部分。我正在寻找一种使用 RegEx 实现它的方法
  • 好吧,我不会为你编写整个正则表达式。您也可以按“%”拆分。结果数组中的每个其他字符串都是模板变量。其他的将是要在 inputString 中丢弃的静态字符串。

标签: java regex template-engine


【解决方案1】:

您可以使用正则表达式来提取您需要的内容。或者,您可以使用 split() 方法在“%”上进行拆分。结果数组中的每个其他字符串都是模板变量。其他的将是要丢弃在 inputString 中的静态字符串。

【讨论】:

    猜你喜欢
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多