怎样过滤汉字里的标点符号

hisben 2008-09-25 03:34:15
如 “去符号标号!!当然。”

过滤后变为“去符号标号当然”
...全文
5583 40 打赏 收藏 转发到动态 举报
写回复
用AI写文章
40 条回复
切换为时间正序
请发表友善的回复…
发表回复
guobosheng 2012-09-19
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 的回复:]
Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。

\pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。

大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。

其他六个是

L:字母;
M:标记符号(一般不会单独出现);
Z:分隔符(比如空格、换行等);
S:……
[/Quote]

兄台可知道要匹配汉字是用什么?
_vector_ 2012-02-16
  • 打赏
  • 举报
回复
果断学习了。。。。
JustDoNow 2011-08-29
  • 打赏
  • 举报
回复
谁知道正则“\pP”到底匹配了那些标点符号?
telnetor 2010-11-28
  • 打赏
  • 举报
回复
强啊!!
[Quote=引用 32 楼 bao110908 的回复:]
Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。

\pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。

大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。

其他六个是

L:字母;
M:标记符号(一般不会单独出现);
Z:分隔符(比如空格、换行等);
S:……
[/Quote]
心灵的轻 2010-08-19
  • 打赏
  • 举报
回复
有没有js的呢
snowkk 2008-10-27
  • 打赏
  • 举报
回复
谢谢 又学习了!!
xianrenxw 2008-09-29
  • 打赏
  • 举报
回复
str = str.replaceAll("\\pP", "");

\\pP 到底 是什么意思 哦>!>>

不懂, , 谁能告诉我.>>!
GGMMYQL 2008-09-29
  • 打赏
  • 举报
回复
hhe
lihan6415151528 2008-09-29
  • 打赏
  • 举报
回复
replaceAll("!","").replaceAll(".","")


正解
  • 打赏
  • 举报
回复 1
Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类。

\pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。

大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。

其他六个是

L:字母;
M:标记符号(一般不会单独出现);
Z:分隔符(比如空格、换行等);
S:符号(比如数学符号、货币符号等);
N:数字(比如阿拉伯数字、罗马数字等);
C:其他字符

上面这七个是属性,七个属性下还有若干个子属性,用于更进一步地进行细分。

Java 中用于 Unicode 的正则表达式数据都是由 Unicode 组织提供的。

Unicode 正则表达式标准(可以找到所有的子属性)
http://www.unicode.org/reports/tr18/

各 Unicode 字符属性的定义,可以用一看看某个字符具有什么属性。
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt

这个文本文档一行是一个字符,第一列是 Unicode 编码,第二列是字符名,第三列是 Unicode 属性,
以及其他一些字符信息。
wang511123 2008-09-29
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 xianrenxw 的回复:]
str = str.replaceAll("\\pP", "");

\\pP 到底 是什么意思 哦>!>>

不懂, , 谁能告诉我.>>!
[/Quote]

哈哈,正则表达式
\p{Punct} Punctuation: One of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
garylijia 2008-09-28
  • 打赏
  • 举报
回复
public class A{
public static void main(String[] args){
String s = “去符号标号!!当然。” ;
System.out.println(s.replaceAll("!",""));
}
}
Sniper_Killer 2008-09-28
  • 打赏
  • 举报
回复
学习。
zoujialiang 2008-09-28
  • 打赏
  • 举报
回复
学习了啊 replaceAll("\\pP","");

强强强。。。。。。。
ooo19841080xinxin 2008-09-28
  • 打赏
  • 举报
回复

static void replace(String regex,String input,String replace){
Pattern pa = Pattern.compile(regex);
Matcher match = pa.matcher(input);
System.out.println("replace all "+ match.replaceAll(replace));
}
main:replace("\\p{Punct}","你好aaaa,./09357*&^%#","");

将输入字符传的标点符号换为“”;
ooo19841080xinxin 2008-09-28
  • 打赏
  • 举报
回复
replace("\\p{Punct}","你好aaaa,./09357*&^%#","哈");
pubaolin 2008-09-28
  • 打赏
  • 举报
回复
\\pP代表的是什么?
gaojava 2008-09-28
  • 打赏
  • 举报
回复
牛人,学习了
ozhibin 2008-09-28
  • 打赏
  • 举报
回复
..循环
char [] fuhao = {............这里是所有的符号,因为有全码半码所以不能用ASCI编码来判断,只能罗列出来..............};
String str = "fadaf;asdjfadsjf;sdaf";
String b = "";
for(int i =0 ; i < str.length() ; i++) {
boolean isFuhao = false;
char chStr = str.charAt(i);
for (int j = 0 ; j < fuhao.length;i++) {
if (fuhao[i] == chStr) {
isFuhao = true;
break;
}
}
if (!isFuhao) {
b = b+ chStr;
}
}
..大概就这么个逻辑,里边可能有什么写错的.随手写的..看思路吧...
meteor57 2008-09-27
  • 打赏
  • 举报
回复
replaceAll("\\pP", "");
真强大~~~
mark
加载更多回复(19)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧