![](/img/trans.png)
[英]How do I add characters to a string immediately before the occurrence of all numbers between the first and last ones in Java?
[英]how do i remove first and last occurrence of the sentence in java
我有以下一行: |A|B|C|D|100|E|GEN|smsplus|11|11|11|
我想删除的首次和最后出现|
。
我必须先检查|
first and last
可用
我相信这会使我有些反对,但真的不知道该怎么做。
编辑
我还必须检查以下内容:
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
:
如果字符串的开头和结尾都不都是|
,将无法替代。
编辑:根据您的最后评论,如果要删除|
如果它在字符串的开头和/或结尾,则使用OR运算符(该问题中有太多|
我认为= P):
^\\||\\|$
请勿替换(空字符串""
)
编辑2:
如果第一个正则表达式更接近您的需要,但又想删除多个管道,则添加量词:
^\\|+(.*)\\|+$
如果您需要第二个正则表达式(在第一次编辑中),但又想删除多个管道,请再次添加量词!
^\\|+|\\|+$
请注意,两种情况下的替换字符串均保持不变
您的评论使我相信您想这样做:
String result = subject.replaceAll("^\\||\\|$", "");
这将更改以下每个字符串:
|A|B|C|
|A|B|C
A|B|C|
A|B|C
到相同的字符串A|B|C
在regex101.com上查看 。
使用java.lang.String
包中的indexOf()
和lastIndexOf()
String s="|A|B|C|D|100|E|GEN|smsplus|11|11|11|";
s=s.substring(s.indexOf("|"),s.lastIndexOf("|"));
System.out.println(s); //Prints A|B|C|D|100|E|GEN|smsplus|11|11|11
尝试,
String input = "|A|B|C|D|100|E|GEN|smsplus|11|11|11|";
input = input.substring(1, input.length()-1);
或使用StringUtils.removeStart,removeEnd
StringUtils.removeStart(input, "|");
StringUtils.removeEnd(input, "|");
要么
StringUtils.strip(input, "|");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.