2024-06-28 10:56:38 发布
网友
我在python中有以下内容:
regex.sub(lambda t: t.group(1).replace(" ", " ") + t.group(2),string)
其中regex是正则表达式,string是填充字符串。在
regex
string
所以我尝试在Scala中做同样的事情,使用regex.replaceAllIn(...)函数而不是pythonsub。但是,我不知道如何得到匹配的子组。在
regex.replaceAllIn(...)
sub
Scala中有没有类似于python函数group的东西?在
group
您可以使用replaceAll,并使用$n,其中“n”是要匹配的组。例如:
replaceAll
$n
yourString.replaceAll(yourRegex, "$1")
用第一组替换匹配的零件。在
也许另一种方法是使用regex,例如:
val regExtractor = """a(b+)(c+)(d*)""".r
然后匹配String:
String:
newString将是:
newString
"String Replaced: XXXXX, YYYYY"
scaladoc有一个例子。提供来自Match的函数,而不是字符串。在
Match
scala> val r = "a(b)(c)+".r r: scala.util.matching.Regex = a(b)(c)+ scala> val s = "123 abcccc and abcc" s: String = 123 abcccc and abcc scala> r.replaceAllIn(s, m => s"a${m.group(1).toUpperCase}${m.group(2)*3}") res0: String = 123 aBccc and aBccc
生成的字符串还执行组替换。在
您可以使用
replaceAll
,并使用$n
,其中“n”是要匹配的组。例如:用第一组替换匹配的零件。在
也许另一种方法是使用
regex
,例如:然后匹配
^{pr2}$String:
newString
将是:scaladoc有一个例子。提供来自
Match
的函数,而不是字符串。在生成的字符串还执行组替换。在
^{pr2}$相关问题 更多 >
编程相关推荐