as431431af,87546,3214| 5a341fafaf,3365,54465 | 6adrT43 , 5678 , 5655
String no_whitespace = readFile3.replaceAll("\\s+", "");
Pattern p = Pattern.compile("[a-zA-Z0-9]*,\\d*,\\d*", Pattern.MULTILINE);
Matcher m = p.matcher(ue_No_whitespace);
int lastMatchPos = 0;
while (m.find()) {
System.out.println(m.group());
lastMatchPos = m.end();
}
if (lastMatchPos != ue_No_whitespace.length())
System.out.println("Invalid string!");
nullas431431af,87546,3214
5a341fafaf,3365,54465
6adrT43,5678,5655
我做错了什么?即使我物理地从txt文件的开头移除空格,也会出现相同的结果。有没有更简单的方法可以使用regex在字符串中获取组,并将每个字符串部分,在“,”之前,添加到其变量中?
您可以使用包含可选空格的拆分,然后使用包含可选空格的
拆分获得的项:
String str = "as431431af,87546,3214| 5a341fafaf,3365,54465 | 6adrT43 , 5678 , 5655";
String[] items = str.split("\\s*\\|\\s*");
List<String[]> res = new ArrayList<>();
for(String i : items) {
String[] parts = i.split("\\s*,\\s*");
res.add(parts);
System.out.println(parts[0] + " - " + parts[1] + " - " + parts[2]);
}
请参阅Java演示打印
as431431af - 87546 - 3214
5a341fafaf - 3365 - 54465
6adrT43 - 5678 - 5655
结果在res
列表中。
问题内容: 如何在Java中从字符串开头删除空格而不从结尾删除空格? 如果值为: 然后,如何只删除前导空格,如下所示: 我当前的实现是遍历,检查第一个字符并创建一个子字符串,直到达到第一个非空白值。 谢谢! 问题答案: 您可以使用:
问题内容: 我有一个看起来像这样的字符串: 我如何删除第一个; 但只有在字符串的开头找到它? 使用,将删除 所有 。 问题答案: 普通格式,不带正则表达式: 花费: 0.0369毫秒 (0.000,036,954秒) 与: 注意到: 0.1749毫秒 (0.000,174,999秒)第一次运行(编译),和 0.0510毫秒 (0.000,051,021秒)之后。 显然,已在我的服务器上进行了分析。
问题内容: 如何在Python 2.6中删除XML字符串中的空格和换行符?我尝试了以下软件包: etree:此代码段保留原始空格: 我不能使用将提供参数的Python 2.7 。 渺小:一样: 问题答案: 最简单的解决方案可能是使用lxml,您可以在其中设置解析器选项以忽略元素之间的空白: 这可能足以满足您的需求,但是有些警告是安全的: 这只会删除元素之间的空格节点,并尽量不要删除内容混合的元素内
被删除,因此也是另一个匹配字符串的一部分,不确定这是由于错误的regEx还是反字符类的错误应用。
问题内容: 在Go中从某个任意字符串中剥离所有空格的最快方法是什么。 我从字符串包中链接了两个函数: 有人有更好的方法吗? 问题答案: 以下是一些用于从字符串中剥离所有空格字符的不同方法的基准:(源数据): :用途; 随着遇到更多的非空白字符,逐渐增加分配的空间量 :和; 产生大量中间数据 用途; 执行一次分配,但是如果源字符串主要是空格,则可能会总体上分配。 package main_test
问题内容: 如何删除字符串中的空格?例如: 输入: 输出: 问题答案: 这个? 例 更新: 基于此问题此: 是更好的解决方案。它产生相同的结果,但执行速度更快。 正则表达式 是“空白”的正则表达式,并且是“全局”标志,表示匹配ALL (空白)。 在这里可以找到一个很好的解释。 附带说明,您可以将单引号之间的内容替换为所需的任何内容,因此可以将空白替换为任何其他字符串。