Java 如何用圆点分割线,但保留部分用``未触及
我正在寻找一种很好的方法,将线分割成点,但不要触摸带有严重口音的部分(“`”)。我不确定是否有正则表达式可以做到这一点,因此也欢迎使用其他方法 换句话说,我想将其转换为:Java 如何用圆点分割线,但保留部分用``未触及,java,regex,Java,Regex,我正在寻找一种很好的方法,将线分割成点,但不要触摸带有严重口音的部分(“`”)。我不确定是否有正则表达式可以做到这一点,因此也欢迎使用其他方法 换句话说,我想将其转换为: "a.`b.html`.c.`d.html`" 为此: ["a", "b.html", "c", "d.html"] 我将按`字符分割,然后删除前导点和尾随点。为此,我使用了: 输出: [a,b.html,c,d.html] 按“”`拆分,然后检查字符串的外观是否为string.string或string.或.string
"a.`b.html`.c.`d.html`"
为此:
["a", "b.html", "c", "d.html"]
我将按`字符分割,然后删除前导点和尾随点。为此,我使用了: 输出: [a,b.html,c,d.html]
按
“
”`拆分,然后检查字符串的外观是否为string.string
或string.
或.string.
。在第一个例子中,不要删除点,但在其他情况下,请这样做。到目前为止,您是否尝试过任何方法?如果无法避免,请使用:@tnw您的评论给讨论带来了什么?是的,我总是在问之前找到一个解决方案…所以展示一下你的尝试。当字符串不包含任何```时,它不起作用。我在问题中没有提到它,但该字符串也可以是“a.b.c.d”
,也应该正确拆分。无论如何,谢谢你。
String input = "a.`b.html`.c.`d.html`";
String[] values = Arrays.stream(input.split("`")) //split by the `
.map(s -> s.replaceAll("(^\\.|\\.$)", "")) //remove dots
.collect(Collectors.toList())
.toArray(new String[0]);
System.out.println(Arrays.toString(values));