java - 字符串开头的Java不可见空格
问题描述
我想从文件中读取一个字符串。字符串包含几个用空格分隔的浮点数。然后我想把它分成几个字符串,每个字符串包含一个数字并将它们解析为加倍。numbers.length() 显示我的字符串比文件中的实际长度长 1 个符号。而这个符号是我无法摆脱的无形空白。数组中的第一个元素也有,而 trim() 没有帮助。我试图修剪数组中的每个元素,没有帮助。由于这个空格,我无法将此数组解析为数字,我遇到了异常。我看到只有当我将字符串数字或数组的第一个元素拆分为字符时,这实际上是开头的空格。初级程序员在这里。
BufferedReader reader1 = new BufferedReader(new InputStreamReader(System.in));
String file1 = reader1.readLine();
reader1.close();
BufferedReader reader2 = new BufferedReader(new FileReader(file1));
String numbers = reader2.readLine();
reader2.close();
System.out.println(numbers.length());
String[] array = numbers.trim().split("\\s+");
解决方案
第一行 输出 类的完整代码。我添加了我在 IDEA 中得到的内容。打印数组 [0] 中的 '4' 之前的空格或任何内容是我的问题。
41 4234.234 9 2341.452 8 98234.4 7 2378.34 7 114.32 6
4 2 3 4 。2 3 4
进程以退出代码 0 结束
public class Solution {
public static void main(String[] args) throws IOException{
BufferedReader reader1 = new BufferedReader(new InputStreamReader(System.in));
String file1 = reader1.readLine();
reader1.close();
BufferedReader reader2 = new BufferedReader(new FileReader(file1));
String numbers = reader2.readLine();
reader2.close();
System.out.println(numbers.length());
String[] array = numbers.trim().split("\\s+");
for(int i = 0; i < array.length; i++) {
System.out.println(array[i] + " " + array[i].length());
}
char[] ch = array[0].toCharArray();
for(char c:ch) {
System.out.println(c);
}
}
}
推荐阅读
- jenkins - Ansible 和 jenkins 集成
- javascript - 如何循环 JSON 响应以获取 Javascript 或 GAS 中的特定数据
- rundeck - Rundeck 中记录的计划作业的标准输出命令在哪里?
- python - 测试 Python shell 作业脚本:开发端点?
- java - Android Studio - 努力从应用资产共享图像/音频/视频文件
- apache-spark - Spark 2.4 到 Elasticsearch:防止 Dataproc 节点退役期间的数据丢失?
- c# - 关于单个可执行文件的多个实例中的静态变量行为的问题
- javascript - 如何将图像 src 设置为当前目录中可用的一些“randomName.png”文件?
- rx-java - RxJava3:在整数流中去抖动/跳过不需要的“0”,但只有在连续获取时才想要“0”
- lazy-loading - 如何在 Blogspot 中实现延迟加载,以便 Google 可以索引图像