如何将char数组转换为字符串数组?
例如"Text not text" → "Text not text" as char array → "Text" "not" "text"
我理解如何"Text not text" → "Text not text"
,但不知道如何
"Text not text" as char array → "Text" "not" "text"
这是代码示例,但它不起作用
public class main {
public static void main(String[] args) {
StringBuffer inString = new StringBuffer("text not text");
int n = inString.toString().replaceAll("[^a-zA-ZА-Я а-я]", "")
.split(" ").length;
char[] chList = inString.toString().toCharArray();
System.out.print("Text splited by chars - ");
for (int i = 0; i < chList.length; i++) {
System.out.print(chList[i] + " ");
}
System.out.println();
String[] temp = new String[n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < chList.length; j++) {
if (chList[j] != ' ') {
temp[i] = new String(chList);
}
}
System.out.println(temp[i]);
}
}
}
答案 0 :(得分:2)
所以你有一个char数组,如下所示:
char[] chars = new char[] {'T', 'e', 'x', 't', ' ', 'n', 'o', 't', ' ', 't', 'e', 'x', 't'};
那么你想得到的是单独的单词Text
,not
和text
??
如果是,请执行以下操作:
String newString = new String(chars);
String[] strArray = newString.split(" ");
现在strArray
是你的数组。
答案 1 :(得分:1)
使用String.split()
方法。
答案 2 :(得分:0)
简短的回答是from anvarik。但是,如果你需要展示一些工作(也许这是家庭作业?),下面的代码将手动构建列表:
char[] chars = "text not text".toCharArray();
List<String> results = new ArrayList<String>();
StringBuilder builder = new StringBuilder();
for (int i = 0; i < chars.length; i++) {
char c = chars[i];
builder.append(c);
if (c == ' ' || i == chars.length - 1) {
results.add(builder.toString().trim());
builder = new StringBuilder();
}
}
for (String s : results) {
System.out.println(s);
}
答案 3 :(得分:-1)
我认为如果在使用$符号转换“Text not text”时替换所有空格,那么生成的字符串将变为“T e x t $ n o t $ t e x t”
String ex = ex.replaceAll(“\ s”,“$”);
并且在将其转换回来时,您可以再次使用空格替换$。
除此之外,我似乎无法想到如何在分裂时保持单词的含义。