如何才能找到仅使用正则表达式的中间字符
例如,这显示了预期的输出
Hello
- > l
world
- > r
merged
- > rg
(参见偶数次出现)
hi
- > hi
I
- > I
我试过
(?<=\w+).(?=\w+)
答案 0 :(得分:5)
正则表达式无法按照您要查找的方式计算。这看起来像正则表达式无法实现的东西。我建议编写代码来解决这个问题。
答案 1 :(得分:1)
String str="Hello";
String mid="";
int len = str.length();
if(len%2==1)
mid= Character.toString(str.getCharAt(len/2));
else
mid= Character.toString(str.getChatAt(len/2))+ Character.toStringstr.getCharAt((len/2)-1));
这应该可行。
答案 2 :(得分:1)
public static void main(String[] args) {
String s = "jogijogi";
int size = s.length() / 2;
String temp = "";
if (s.length() % 2 == 0) {
temp = s.substring(size - 1, (s.length() - size) + 1);
} else if (s.length() % 2 != 0) {
temp = s.substring(size, (s.length() - size));
} else {
temp = s.substring(1);
}
System.out.println(temp);
}