Java 判定标点符号

题目:提取标点两侧文字
描述:将标点符号两侧文字提取出来形成新的文本。(如:本站提供的程序均为网上搜集,如果该程序涉及或侵害到您的版权请立即写信通知我们。提取后成:集如们)
希望能帮我写出个具体程序,谢谢
做一个对话框,可以导入一个文本文件,然后提取标点两侧文字开成一个新的文本,再导出文件。希望做出一个具体程序。

String str = "本站提!!,供的程序?均为网上搜集,如果该程序涉\"及或侵'害到" +
"您的,,版权请立即写信通知我们。";
str = str.replaceAll("[\\pP]", "-"); //正则表达式
String[] arr = str.split("-");
str = "";
for(int i=0; i<arr.length; i++){
String temp = arr[i];
if("".equals(temp)) continue;
if(i==0){
str += temp.substring(temp.length()-1,temp.length());
}else{
str += temp.substring(0,1)+temp.substring(temp.length()-1,temp.length());
}
}
System.out.println(str);

\pP 其中的小写 p 是 property 的意思,表示 Unicode 属性,用于 Unicode 正表达式的前缀。
大写 P 表示 Unicode 字符集七个字符属性之一:标点字符。
其他六个是
L:字母;
M:标记符号(一般不会单独出现);
Z:分隔符(比如空格、换行等);
S:符号(比如数学符号、货币符号等);
N:数字(比如阿拉伯数字、罗马数字等);
C:其他字符

希望对你有帮助追问

我要的是个对话框,能导入文本,再导出提取后的文本

追答

???不明白,你什么意思

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-22
split
public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。

例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:

Regex 结果
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }

参数:
regex - 定界正则表达式
返回:
字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的
抛出:
PatternSyntaxException - 如果正则表达式的语法无效
从以下版本开始:
1.4
另请参见:
Pattern

用这个函数可以实现你的功能哦,标点符号你可以写为正则表达式,,|.| 这种形式,表示逗号或句号,返回的是一个字符串数组,你对第一个字符串提取最后一个字符,用
substring这个函数可以实现如下
public String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。
示例:

"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
"emptiness".substring(9) returns "" (an empty string)

参数:
beginIndex - 起始索引(包括)。
返回:
指定的子字符串。
抛出:
IndexOutOfBoundsException - 如果 beginIndex 为负或大于此 String 对象的长度。
这写提取结果你可以放在一个string中 ,比如你定义一个srting a,后面提取一个 就a+=“先提取的”就可以了,最后这个a就是你要的结果

Java 判定标点符号
S:符号(比如数学符号、货币符号等);N:数字(比如阿拉伯数字、罗马数字等);C:其他字符 希望对你有帮助

符号不可以写在第一个。
符号不可以写在第一个。 关于标点符号的用法,点号(包括逗号、顿号、分号、句号、冒号、问号、感叹号等)是不能打在一行之首的。遇到这种情况时,可以打在上一行的末一格的右下方。而标号中的后引号、后括号、后书名号,也是不能打在一行之首的。遇到这种情况时,可以打在上一行的末一格的右边。标...

相似回答