重复元素的模式匹配
2021-02-05 22:13
是否有一种模式可以匹配一行中出现两次以上的重复元素?为了示例,假设我想使用模式匹配来删除后续的重复:l={1,2,2,3,4};l/{b,x,x,r,r}-gt;{b,r}(*
解答动态
使用Longest pattern命令查找与模式匹配的最长重复序列。
l={1,2,2,3,4};l/。{b,x,Longest[(x)…],r}:gt;序列[]] {1,3,4}
} 尝试如下:
l={1,2,2,2,3,4};l/。{b,x,(x)…,r}-gt;{b,r}(*{1,3,4}*)您还可以考虑使用Repeated的双参数形式,以便更精细控制:
{1, 2, 2, 3, 4} /. {a,b}:gt;序列[]] {1,3,4} 不是模式匹配,而是相互匹配方式:
箱[拆分@l2,{x}:>;x] {1,3,4}- End
免责声明:
本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。
相关搜索