从任意组合的字符串中查找任何组合的子字符串

时间:2017-01-24 11:58:36

标签: regex string scala replace find

我是scala和regex的新手。

我正面临着从字符串中替换单词/单词的问题。

考虑我有以下字符串数组作为addressArray,我想从中找到“东街” 什么是从字符串中查找字符串的有效方法。

我想从addressArray中删除 east street 的每一次出现。

val addressArray = Array("shyam east street near corporation bank pune", 
                         "shyam eaststreet near corporation bank pune",
                         "shyameast street near corporation bank pune",
                         "shyam east streetnear corporation bank pune",
                         "shyameaststreet near corporation bank pune",
                         "shyam eaststreetnear corporation bank pune")

val stringtoFind = "east street"

注意:我不想用空格和连接字符串替换空格,因为我希望字符串的其余部分不变。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您只想删除那些可以替换的确切字词,那么它比使用正则表达式更简单:

addressArray.map(_.replace(stringtoFind, ""))

如果您想要更复杂的规则,例如匹配" eaststreet"和"东街",您可以使用这样的正则表达式:

val stringtoFind = """east\s*street""".r
addressArray.map(s => stringtoFind.replaceAllIn(s, ""))
相关问题