【发布时间】:2017-12-02 00:53:26
【问题描述】:
编辑:
我有这样的字符串:
String value1 = "xyzz#@#$%helloworldtestdata"
或
String value1 = "xyzztestcase" or String value1 = "notincludedxyzztestcase"
和
String value2 = "xxxyz! xyyz xyzz xyyz"
我正在尝试用相应的单词过滤掉每个字符串。到目前为止,我有这段代码,它很好,但没有 value1
Map<String, String> map = new HashMap<String, String>();
map.put("xxxyz!", "test1");
map.put("xxxyz?", "test2");
map.put("xyyz", "test3");
map.put("xyzz", "test4");
for (String s : map.keySet()) {
if (value2.contains(s)) {
value2 = value2.replaceAll(s, map.get(s));
}
}
如果我使用 value2 这里是我得到的输出:
test1 test3 test4 test3
但如果我使用 value1,我会得到这个:
test4#@#$%helloworldtestdata
如何过滤掉我的map中没有包含的部分,key但不弄乱value1的空格?
【问题讨论】:
-
过滤掉是什么意思?如果你只想消除它,
String.replace("begone", "") -
不清楚你想做什么。请阐明您的目标;也许如果您要发布 4-5 个不同的输入示例和预期输出,我们可以推断出您尝试实施的规则。
-
对不起,我必须编辑帖子。我要做的只是获取地图上的那些单词并消除其他未包含的字符串。我希望这是有道理的。谢谢!
-
你能展示一个完整的工作代码示例吗?它应该编译并运行并产生您最终看到的确切输出。
-
另外,请更详细地解释您所说的“我正在尝试用相应的单词过滤掉每个字符串。”
标签: java arrays dictionary