java - 如何删除java中第一个和最后一个出现的句子

标签 java regex

我有以下行: |A|B|C|D|100|E|GEN|smsplus|11|11|11| 我想删除第一个和最后一个出现的|

我必须首先检查|第一个和最后一个处是否可用

我确信这会给我带来一些反对票,但我真的不知道该怎么做。

编辑

我还必须检查以下内容:

A|B|C|D|100|E|GEN|smsplus|11|11|11| and |A|B|C|D|100|E|GEN|smsplus|11|11|11 and there is no 

|| 的可能性,这就是为什么我不想对此给出任何解释。

感谢您抽出宝贵的时间。

最佳答案

您也许可以使用正则表达式:

^\\|(.*)\\|$

并替换为$1:

ideone demo

如果字符串的开头和结尾不都是 |,则不会进行替换。

编辑:根据您的最后评论,如果您想删除 | (如果它位于字符串的开头和/或末尾),则使用 OR 运算符(有太多| 在这个问题中我认为 =P):

^\\||\\|$

替换为空(空字符串 "")

<小时/>

编辑2:

如果第一个正则表达式更接近您的需要,但还想删除多个管道,请添加量词:

^\\|+(.*)\\|+$

如果第二个正则表达式(在第一次编辑中)是您所需要的,但也想删除多个管道,请再次添加量词!

^\\|+|\\|+$

请注意,两种情况下的替换字符串保持相同

关于java - 如何删除java中第一个和最后一个出现的句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19088650/

相关文章:

java - 打印 2 个具有相同指数的 double 的最佳方法

java - 如何从命令行参数获取输入

JavaScript - 重复字符的动态正则表达式

python - 正则表达式两组匹配所有内容直到模式

regex - IIS7 重写映射正则表达式?

regex - 如何在不使用 json 库和 json 解析器的情况下解析 json 文件

java - 如何使用依赖注入(inject)在 Spring 中注入(inject)资源类实例

java - generic dao methods using hibernate criteria 是错误的,但感觉很对

java - 捕获 GoogleJsonResponseException 但 e.getDetails() 返回 null

regex - VBscript_Words 仅包含唯一且不区分大小写的字母