我想只将旧的字符数组中的某些数据复制到新的字符数组中。这就是我到目前为止所做的:
yield <- data.frame(fruits = c("apples", "apples", "apples", "oranges", "oranges",
"oranges", "pears", "pears", "pears"), year = rep(2008:2010, 3),
count = c(10, 13, 7, 5, 12, 14, 16, 18, 20))
我只希望新数组中的字符与字母表中的字母(a,b,c等)相对应,基本上复制旧的char数组而不包含与数字,标点符号,空格等对应的字符。有没有办法做到这一点?我尝试过使用for循环和while循环,但它只是不起作用。建议?
答案 0 :(得分:3)
在转换为字符数组之前,从原始字符串中删除所有非字母字符。
String stripped = s.replaceAll("[^a-z]", "");
char[] charsInString = stripped.toCharArray();
这个解决方案不是最有效的,但是,除非你的输入字符串很长,否则这个数字应该可以忽略不计。
答案 1 :(得分:0)
试试此代码
String str = " @#$%@##$%$& @#$%#$ alph #$%a#$%# be&*%#@ts";
char[] charsInString = str.toCharArray();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < charsInString.length; i++) {
if ((charsInString[i] > 65 && charsInString[i] < 122))
sb.append(charsInString[i]);
}
char[] newCharList = sb.toString().toCharArray();
System.out.println(newCharList);
输出:
alphabets