Java 关于正则表达式替换的操作

来源:百度知道 编辑:UC知道 时间:2024/04/28 14:50:57
请问在Java里能不能用正则表达式将一串字符处理成如下这样:
原字符串:ma.qian.cheng.shi.hu.bang.-
处理后串:ma . qian . cheng . shi . hu . bang . -
就是将非字母的符号前后加空格,简单一点的。

应该能,String好像有个方法replaceall,
你的要求好像有点矛盾因为_也是非字母的字符啊,怎么前边没有空格呢。如果是非字母的可以这样写:
String aa = "ma.qian.cheng.shi.hu.bang.-";
aa.replaceall("([^a-zA-Z])"," \\1");
还可以用否定正环视只是效率可能不高:
String aa = "ma.qian.cheng.shi.hu.bang.-";
aa.replaceall("(?![a-zA-Z])"," ");
如果按照你的变化来看应该是'.'前边加空格
可以这么写:
String aa = "ma.qian.cheng.shi.hu.bang.-";
aa.replaceall("\."," \.");
我在nfa验证通过了。