Java 正则表达式:以“-”开头的多个定界符
Java regex: Multiple delimiters preceded by "-"
删除主机网络名称中以“-"hyphen, so that if there are other combinations with "-”开头的特定分隔符的后缀,应将其作为网络名称的一部分。
几个例子:
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 正则表达式实现上述目标?
如果可以的话,请推荐单线...
您可以使用 String#replaceAll
方法执行此操作:
str = str.replaceAll("-(nic|a)\b", "");
正则表达式 -(nic|adm)
匹配后跟 nic
或 adm
的连字符。
\b
用于单词边界,以确保我们不会匹配不需要的文本,例如 abc
.
您可以在此组中添加更多要删除的后缀。
删除主机网络名称中以“-"hyphen, so that if there are other combinations with "-”开头的特定分隔符的后缀,应将其作为网络名称的一部分。
几个例子:
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 正则表达式实现上述目标?
如果可以的话,请推荐单线...
您可以使用 String#replaceAll
方法执行此操作:
str = str.replaceAll("-(nic|a)\b", "");
正则表达式 -(nic|adm)
匹配后跟 nic
或 adm
的连字符。
\b
用于单词边界,以确保我们不会匹配不需要的文本,例如 abc
.
您可以在此组中添加更多要删除的后缀。