对于此输入:|PS D#W ||OOOP #||# || QQWQ|
我想通过修改下面的regex来删除字符串中的第一个和最后一个管道,我已经为任何空格和特殊的字符删除编写了regex。
str = str.replaceAll("[^a-zA-Z|]","");
此外,我还想将这个regex-str.replaceAll("\|+","|")
组合起来(用于将字符串之间的许多管道更新为一个管道(。有可能将其合并为一个正则表达式吗?
预期输出:PSDW|OOOP|QQWQ
我不会问你为什么希望regex删除第一个和最后一个管道(你可以检查字符串是否以管道开始和结束,并使用子字符串(请记住,regex比使用字符串更重。
但是。。。要删除第一个和最后一个,您可以使用
str.replaceAll("^\|(.*)\|$","$1")
此处解释
然后是其他人。当然,这取决于字符串的长度和您使用此方法的频率,但这是所问问题的最短答案。