我在java中有一个非常基本的任务:
将字符串拆分为字母(String类型,而不是char)。
我首先使用的是String.split("123")
,它返回了一个尾随的空格“{,1,2,3}”。
因为您需要将Array转换为其他内容或创建一个新的以删除第一个空格 - 我搜索了一个很好的appraoch并发现了许多变体,但它们都很庞大,比如使用循环,转换,转换。 / p>
那你怎么把String转换成一个字母字符串的集合?
简洁明了的方法怎么样?
我现在最喜欢的是
String[] singleLetters = string.split("");
singleLetters = Arrays.copyOfRange(singleLetters, 1, singleLetters.length);
更好的方法是:
String[] singleLetters = string.split("(?!^)")
答案 0 :(得分:2)
String.toCharArray()
会解决您的问题吗?
答案 1 :(得分:2)
为什么不使用lenth 1的subString() - 这会给你String
个别字符
这是一个简单的演示代码
public void subStrChar{
String s = "helo";
for(int i=0;i<s.length();i++){
System.out.println(" " + s.substring(i, i+1));
}
}
答案 2 :(得分:2)
这个怎么样:
public static String[] splitMyString(String input)
{
final String[] array = new String[input.length()];
for (int i = 0; i < input.length(); ++i)
array[i] = input.substring(i, i+1);
return array;
}
答案 3 :(得分:1)
请看看番石榴Splitter。
答案 4 :(得分:0)
str.split("(?!^)")
正则表达式将阻止开头的空字符串匹配,因此结果将不包含起始空字符串。该解决方案无需任何假设即可使用。