繁体   English   中英

在字符之间遇到'-'而不是数字时字符串拆分

[英]Splitting of String on encountering '-' between characters but not on numbers

我正在尝试将下面的字符串拆分为'-',但问题是,拆分仅应在两侧都有字符时才进行'-'。

String s = "1 - 2 Foo - Bar 3 - 4 Wrong - Right"

乌普图

String[0] = 1 - 2 Foo
String[1] = Bar 3 - 4 Wrong
String[2] = Right

有什么办法可以做到这一点。

您可以使用此正则表达式:

(?<=[a-zA-Z]) - (?=[a-zA-Z])

像这样:

s.split("(?<=[a-zA-Z]) - (?=[a-zA-Z])")

说明:

(?<=...)是正向查找,它检查连字符前面的内容是否匹配[a-zA-Z] ,但实际上不匹配它们。 (?=...)类似,但它会向前看以确保连字符右侧的内容与[a-zA-Z]相匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM