【发布时间】:2015-09-18 18:05:28
【问题描述】:
String target = "When user fills in #this# in form #that#"
// I have my function in removing all content in between paired "##"
String processedTarget = "When user fills in ## in form ##"
// processedTarget is generated using the function from target
String input = "When user fills in #test#"
// Same function is used in here to process input
String processedInput = "When user fills in ##"
//processedInput is generated using the same way
以一种简单的方式(仅使用 Java 内置方法),我如何生成" in form #that#"?
目的是将用户输入与目标进行比较,无论输入的"##" 之间的内容如何,但应呈现"##" 之间的目标剩余内容。
如果目标以输入开头(无论 PAIRED ## 中的内容如何),则通过返回句子的其余部分来完成句子(使用名为 output 或类似名称的变量)。
如果目标不是以输入开头(忽略 PAIRED ## 中的内容不匹配),则返回 null(output 应为 null)。
在示例中,输入匹配目标。
【问题讨论】:
-
您能否提供一个示例输入以及相应的预期输出?
-
@Manu
" in form #that#"。代码块后面我已经写好了。 -
您能解释一下为什么
" in form #that#"是预期结果吗?你能告诉我们你的代码和要求吗,因为现在还不清楚。 -
@Pshemo 因为我真的不关心成对的“#”和“#”中的内容,所以我删除了它们之间的所有内容。但是我需要用目标中的原始内容(包括成对的“#”和“#”中的内容)来完成句子,这就是为什么
" in form #that#"而不是" in form ##"是正确的输出。 -
如果你真的想生成
" in form of #that#",那么在你的字符串target中搜索第一次出现“#this#”然后返回从那个位置开始的子字符串,基本上是一个单线。我真的不知道你的目标是什么,当问题写得这么糟糕时,我认为不可能给出一个好的答案。
标签: java string algorithm substring concatenation