我编写了一个代码,将所有新行字符转换为逗号。如果字符为'\n'
,则会将其更改为','
。但我在输入样本数据时遇到问题。我认为Netbeans将空格作为新行字符。在运行部分按Enter键输入我写的数据而不是创建新行。我该怎么办?
我也愿意接受有关我的代码的建议。
这是代码:
package newlinetocomma;
import java.util.Scanner;
/**
*
* @author sametsahin
*/
public class NewLineToComma {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a text: ");
String textWithNewLines = scanner.next();
char[] textWithNewLinesAsArray = textWithNewLines.toCharArray();
for (int i = 0; i < textWithNewLinesAsArray.length; i++) {
if (textWithNewLinesAsArray[i] == '\n') {
textWithNewLinesAsArray[i] = ',';
}
}
for (int i = 0; i < textWithNewLinesAsArray.length; i++) {
System.out.print(textWithNewLinesAsArray[i]);
}
}
}
答案 0 :(得分:0)
如果您想输入多行文字,可以使用useDelimiter(String pattern)
功能。您可以拆分特定的char序列,您将(很可能)永远不会输入,如Ctrl + D(Unix)Ctrl + Z(Windows)。作为分隔符,您可以匹配[JsonConstructor]
。
end of file
请记住,在扫描仪识别之前,您必须提交每一行(按回车键)。按退出快捷方式的行不会添加到public static void main(String[] args) {
Scanner scanner = new Scanner(System.in).useDelimiter("\\Z");
String text = scanner.next().trim().replaceAll("\n",",").replaceAll("\r","");
System.out.println(text);
}
的结果中。
注意:在Windows上,您还必须手动提交Ctrl + Z信号。