例如我有一个字符串包含:
String s = "test string *67* **Hi**";
我想得到这个字符串:
*67*
有了星星,我就可以开始替换那部分字符串了。我现在的代码如下所示:
String s = "test string *67* **Hi**";
s = s.substring(s.indexOf("*") + 1);
s = s.substring(0, s.indexOf("*"));
这输出:67
没有星星。
我想知道如何在某些特殊字符之间获取字符串,但不能像我想要的那样将字符放在一起。
输出应如下所示:
//output: test string hello **hi**
仅替换特殊字符之间的字符串:
String regex = "(\\s\\*)([^*]+)(\\*\\s)";
String s = "test string *67* **Hi**";
System.out.println(s.replaceAll(regex,"$1hello$3"));
// output: test string *hello* **Hi**
DEMO https://ideone.com/xCKjNq and 正则表达式解释 https://regex101.com/r/Co1cYx/3
EDIT
要删除特殊字符,请使用以下正则表达式:
String regex = "(\\s)(\\*[^*]+\\*)(\\s)";
DEMO https://ideone.com/QirDNP
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)