例如:
输入 &can't,
输出 & can ' t
如何在一个字符串中的标点或其它特殊符号前后分别插入一个空格(JAVA)?
答案:2 悬赏:70 手机版
解决时间 2021-12-19 11:25
- 提问者网友:謫仙
- 2021-12-18 16:44
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-12-18 17:22
public class ReplaceTest {
public static void main(String[] args) {
String source = "&can't1>2";
String target = source.replaceAll("[^a-zA-Z0-9]", " $0 ");
System.out.println(target);
}
}看看这个吧
public static void main(String[] args) {
String source = "&can't1>2";
String target = source.replaceAll("[^a-zA-Z0-9]", " $0 ");
System.out.println(target);
}
}看看这个吧
全部回答
- 1楼网友:傲气稳了全场
- 2021-12-18 17:32
java中标点字符包括非字母、数字的字符。
用正则表达式比较简单,思路:把所有的标点替换成",",然后分割",",统计分割的次数。
str = str.replaceall("[\\pp‘’“”]", ",");
\pp 其中的小写 p 是 property 的意思,表示 unicode 属性,用于 unicode 正表达式的前缀。
大写 p 表示 unicode 字符集七个字符属性之一:标点字符。
其他六个是
l:字母;
m:标记符号(一般不会单独出现);
z:分隔符(比如空格、换行等);
s:符号(比如数学符号、货币符号等);
n:数字(比如阿拉伯数字、罗马数字等);
c:其他字符
代码如下:
public class test {
public static void main(string[] args) {
string str = "jioji,.;'<>:{}|+_`~47897423^&*%(^1243-=kl;=-+_)j8932498";
str = str.replaceall("[\\pp‘’“”]", ",");
system.out.println(str.split(",").length);
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯