我想从一个字符串中提取所有的IP地址。假设我有一根弦"1.2.3.4.5.6.7"我想从这个字符串中提取所有的ip地址,它应该产生如下输出:List("1.2.3.4","2.3.4.5","3.4.5.6","4.5.6.7")我已经尝试过的事情:正则表达式匹配有或没有积极的前瞻。
"1.2.3.4.5.6.7"
List("1.2.3.4","2.3.4.5","3.4.5.6","4.5.6.7")
rryofs0p1#
不基于正则表达式,但假设输入是可预测的,因为您正在展示一个基于sliding的实现可以工作。sliding(n: Int)-通过在固定大小的块上传递“滑动窗口”来对元素进行分组
sliding
sliding(n: Int)
List("1.2.3.4.5.6.7") .flatMap(_.split("\\.")) //List(1,2,3,4,5,6,7) .sliding(4) .map(_.mkString(".")) .toList //materialize the iterator //List[String] = List(1.2.3.4, 2.3.4.5, 3.4.5.6, 4.5.6.7)
1条答案
按热度按时间rryofs0p1#
不基于正则表达式,但假设输入是可预测的,因为您正在展示一个基于
sliding
的实现可以工作。sliding(n: Int)
-通过在固定大小的块上传递“滑动窗口”来对元素进行分组