Java正则表达式:多个分隔符前面有" - "

时间:2015-10-20 13:53:57

标签: java regex delimiter

在特定分隔符处删除主机网络名称的后缀,前缀为" - "连字符,以便如果与" - "有其他组合,则应将其视为部分网络名称。

几个例子:

abcd-new     --> abcd-new   ## Stays same ##
efgh-nic     --> efgh       ## delimiter is '-nic' ##
mnop-ilo-a   --> mnop-ilo   ## delimiter is '-a' ##
xyz-a01      --> xyz-a01   ## Stays same ##
vm-1-ad-nic  --> vm-1-ad    ## delimiter is '-nic' ##
vm-lab-nic1  --> vm-lab-nic1 ## Stays same ##

分隔字符是' nic'' a'只要。 " - "的其他组合&安培;字符应保持完整。

如何使用java regex实现上述功能?

如果可能的话,请建议单个班轮......

1 个答案:

答案 0 :(得分:0)

您可以使用String#replaceAll方法执行此操作:

str = str.replaceAll("-(nic|a)\\b", "");

正则表达式-(nic|adm)匹配后跟nicadm的连字符。

\\b用于字边界,以确保我们不会匹配abc等不需要的文字。

您可以在此组中添加要删除的更多后缀。