java中怎么用toString方法去除字符串中的标点,符号和数字?

java中怎么用toString方法去除字符串中的标点,符号和数字?例如:Stringstr="3.14company!!!"最终转换成Strings=“company”... java中怎么用toString方法去除字符串中的标点,符号和数字?
例如:
String str = "3.14company!!!"
最终转换成
String s = “company”
打错了 是subString方法。。。。
展开
 我来答
198901245631
2015-07-04 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1711万
展开全部
纠正下,toString方法是用来转换为字符串的,不能用于字符串截取的。可以通过判断是不是字母,如果是字母的话,就保留下来,区域的直接忽略掉即可。

public static String getString(String src) {//输入参数为相应的字符串
char[] cr= src.toCharArray();
char[] str= new char[cr.length];
int index = 0;
for(char newchar : cr) {
if((newchar <= 'Z' && newchar>= 'A') || (newchar <= 'z' && newchar>= 'a')) {//判断是不是字符
str[index ++] = c;
}
}
return new String(str, 0, index);//返回字符结果
}
liss5945
2012-03-31 · TA获得超过231个赞
知道小有建树答主
回答量:237
采纳率:100%
帮助的人:125万
展开全部
tostring()方法不能完成此功能吧。用字符串替换试试。

看看java的 pattern类和match类。
进行模式匹配的第一步是使用Pattern类创建一个模式对象,模式对象是一个封装的正则表达式。 pattern类调用compile方法返回一个模式对象。
给你个代码你自己捉摸捉摸。
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class test5 {
public static void main(String args[]){
//给出两种方法来
//方法一 用空字符替换非字母字符
String str=new String("12*#D34comFpany,d2ds4!");
String regex1="[^a-zA-Z]";
//正则表达式,表示除了英文字母外的其他字符。^ 是非的意思
String regex2="[\\p{Alpha}]";
//正则表达式, 表示所有的字母
String result="";
//最后返回的结果
result=str.replaceAll(regex1, "");
// 方法一 这里用空字符串替换非字母字符;
System.out.print(result+" 该结果是用字符串替换得到的");
//方法二 匹配模式
Pattern p;
Matcher m;
p=Pattern.compile(regex2);
m=p.matcher(str);
result="";
//先把结果清空一下,因为result目前有值
while(m.find()){
String s=m.group();
System.out.println("从"+m.start()+"到"+m.end()+"匹配模式子序列:");
System.out.println(s);
result+=s;
}
System.out.print(result);
//关于匹配模式你自己查吧
}
}

运行结果:
DcomFpanydds 该结果是用字符串替换得到的从4到5匹配模式子序列:
D
从7到8匹配模式子序列:
c
从8到9匹配模式子序列:
o
从9到10匹配模式子序列:
m
从10到11匹配模式子序列:
F
从11到12匹配模式子序列:
p
从12到13匹配模式子序列:
a
从13到14匹配模式子序列:
n
从14到15匹配模式子序列:
y
从16到17匹配模式子序列:
d
从18到19匹配模式子序列:
d
从19到20匹配模式子序列:
s
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
编码之心
2012-03-31 · TA获得超过152个赞
知道答主
回答量:94
采纳率:100%
帮助的人:62.7万
展开全部
只保留字母,大小写

public static String toString(String src) {
char[] cs = src.toCharArray();
char[] dest = new char[cs.length];
int index = 0;
for(char c : cs) {
if((c <= 'Z' && c >= 'A') || (c <= 'z' && c >= 'a')) {
dest[index ++] = c;
}
}
return new String(dest, 0, index);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7282eee
2012-03-31 · TA获得超过346个赞
知道小有建树答主
回答量:555
采纳率:100%
帮助的人:184万
展开全部
这个不要截取字符串方法吧,用正则表达式替换啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lujintao123123
2012-03-31 · TA获得超过184个赞
知道小有建树答主
回答量:502
采纳率:50%
帮助的人:250万
展开全部
String s = str.substring(4,11);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式