Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 从具有任意组合的字符串中查找任意组合的子字符串_Regex_String_Scala_Replace_Find - Fatal编程技术网

Regex 从具有任意组合的字符串中查找任意组合的子字符串

Regex 从具有任意组合的字符串中查找任意组合的子字符串,regex,string,scala,replace,find,Regex,String,Scala,Replace,Find,我不熟悉scala和regex 我在替换字符串中的单词时遇到问题 假设我有以下字符串数组作为addressArray,我想从中查找“east street” 从字符串中查找字符串的有效方法是什么 我想从addressArray中删除所有出现的east street val addressArray = Array("shyam east street near corporation bank pune", "shyam eaststreet

我不熟悉scala和regex

我在替换字符串中的单词时遇到问题

假设我有以下字符串数组作为addressArray,我想从中查找“east street” 从字符串中查找字符串的有效方法是什么

我想从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"
注意:我不想用空格和concat字符串替换空格,因为我希望字符串的其余部分保持原样


提前感谢。

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

addressArray.map(_.replace(stringtoFind, ""))
如果您想要更复杂的规则,例如匹配“eaststreet”和“east street”,可以使用如下正则表达式:

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

我想删除east street,即使它带有其他字符串,如shyameast street、shyameaststreet、eaststreetnear等。@user1453370查看我的更新答案。它应该给出预期的结果