如何删除字符串的开头和结尾字符



对于此输入:|PS D#W ||OOOP #||# || QQWQ|

我想通过修改下面的regex来删除字符串中的第一个和最后一个管道,我已经为任何空格和特殊的字符删除编写了regex。

str = str.replaceAll("[^a-zA-Z|]","");

此外,我还想将这个regex-str.replaceAll("\|+","|")组合起来(用于将字符串之间的许多管道更新为一个管道(。有可能将其合并为一个正则表达式吗?

预期输出:PSDW|OOOP|QQWQ

我不会问你为什么希望regex删除第一个和最后一个管道(你可以检查字符串是否以管道开始和结束,并使用子字符串(请记住,regex比使用字符串更重。

但是。。。要删除第一个和最后一个,您可以使用

str.replaceAll("^\|(.*)\|$","$1")

此处解释

然后是其他人。当然,这取决于字符串的长度和您使用此方法的频率,但这是所问问题的最短答案。

相关内容

最新更新