比如
ascad12asd
输出ascd
java 输入一个字符串遇到数字就截掉并且排重
答案:3 悬赏:70 手机版
解决时间 2021-03-05 14:56
- 提问者网友:浮克旳回音
- 2021-03-04 16:32
最佳答案
- 五星知识达人网友:夜余生
- 2021-03-04 16:57
import java.util.LinkedHashSet;
import java.util.Set;
public class CharAndNumber {
public static void main(String[] args) {
String a = "ascad12asd";
Set<Character> test = new LinkedHashSet<Character>();
char[] cs = a.toCharArray();
for (int i = 0; i < cs.length; i++) {
if (cs[i] >= 48 && cs[i] <= 57)
continue;
test.add(cs[i]);
}
System.out.println(test.toString());
}
}
import java.util.Set;
public class CharAndNumber {
public static void main(String[] args) {
String a = "ascad12asd";
Set<Character> test = new LinkedHashSet<Character>();
char[] cs = a.toCharArray();
for (int i = 0; i < cs.length; i++) {
if (cs[i] >= 48 && cs[i] <= 57)
continue;
test.add(cs[i]);
}
System.out.println(test.toString());
}
}
全部回答
- 1楼网友:山有枢
- 2021-03-04 17:35
意思是不是把ascad12asd变成ascadasd?
static public void main(String[] args) {
String a = "ascad12asd我";
StringBuffer bf = new StringBuffer(a);
for (int i = 0; i < bf.length(); i++) {
if (bf.charAt(i) >= '0' & bf.charAt(i) <= '9')//取出每个位置上的相应的char比较。如果是在1-9之间就把它移除。
{
bf.delete(i, i+1);//移除当前位置上的数字
//bf.deleteCharAt(i);意思和上面一样
i--;//移除了整体后面都会向前挪动一个 所以要i要减回去在判断当前位置是否为数字
}
}
System.out.println( bf);
}
你去试下。也不知道你是这意思么?
- 2楼网友:封刀令
- 2021-03-04 17:08
用string类的substring(int from,int to)方法去截字符串位置为from到to-1位置的字符
substring(int index)方法去截字符串位置index-1及以后的所有字符串,注意字符串的字符位置是从0开始的,substring(int from ,int to)方法是前闭后开的,即[from,to),可以理解为[from,to-1]
例:string name="helloworld";
system.out.println(name.substring(name.length()-1,name.length()));//输出d
system.out.println(name.substring(name.length()-1));//输出d
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯