[英]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.