在这里寻求正则表达式专家。我有一个带有数字的字符串,例如
abc 2 de fdfg 3 4 fdfdfv juk @ dfdfgd 45
我需要从这样的字符串中找到所有数字并将其加总。
我的Java代码如下:
public static void main(String[] args) {
String source = " abc 2 de fdfg 3 4 fdfdfv juk @ dfdfgd 45";
Pattern pattern = Pattern.compile("[\\w*\\W*(\\d*)]+");
Matcher matcher = pattern.matcher(source);
if (matcher.matches()) {
System.out.println("Matched");
// For loop is not executed since groupCount is zero
for (int i=0; i<matcher.groupCount(); i++) {
String group = matcher.group(i);
System.out.println(group);
}
} else {
System.out.println("Didn't match");
}
}
所以matcher.matches()返回true,因此我可以看到打印了“匹配”。但是,当我尝试获取期望的数字分组时,什么也没打印出来。
有人可以指点我正则表达式和分组部分有什么问题吗?
只需按组提取数字,而不必担心空格。
public static void main(String[] args) throws Exception {
String source = " abc 2 de fdfg 3 4 fdfdfv juk @ dfdfgd 45";
// "\\d+" will get all of the digits in the String
Pattern pattern = Pattern.compile("\\d+");
Matcher matcher = pattern.matcher(source);
int sum = 0;
// Convert each find to an Integer and accumulate the total
while (matcher.find()) {
sum += Integer.parseInt(matcher.group());
}
System.out.println("Sum: " + sum);
}
结果:
总计:54
问题内容: 我想做的是使用jQuery在段落中查找一段文本,并添加一些CSS以使其变为粗体。我似乎无法弄清楚为什么这行不通: 动态地提取“ about_theresidency”中的文本,因此在加载窗口后执行该文本。 问题答案: 你可以用与: 我把它变成了一个lil’插件,在这里:
问题内容: 我想做的是使用jQuery在一个段落中查找一段文本并添加一些CSS以使其变为粗体。我似乎无法弄清楚为什么这行不通: 动态地提取“ about_theresidency”中的文本,因此在加载窗口后执行该文本。 问题答案: 你可以用与: 我把它变成了一个lil’插件,在这里:
问题内容: 我使用此命令查找具有给定模式的文件,然后将其重命名为其他文件 运行此命令时,我看到一些类似的输出 但是最后,当我运行时,我看到了旧文件名。 问题答案: 您正在回显’mv’命令,而不是实际执行它。改成:
本文向大家介绍加载文本文件并查找文件中的字符数-JavaScript,包括了加载文本文件并查找文件中的字符数-JavaScript的使用技巧和注意事项,需要的朋友参考一下 假设我们有一个data.txt文件,该文件与NodeJS文件位于同一目录中。假设该文件的内容是- 我们需要编写一个JavaScript函数,将此外部文本文件加载到我们的js文件中并返回此文件中的字符数。 示例 让我们为该函数编写
问题内容: 好吧,这里的问题很简单。我正在研究一个简单的备份代码。除非文件中有空格,否则它工作正常。这就是我查找文件并将其添加到tar存档中的方式: 问题是文件名中有空格,因为tar认为它是文件夹。基本上,有没有一种方法可以在find的结果周围添加引号?还是其他解决方法? 问题答案: 用这个: 它会: 处理带有空格,换行符,前导破折号和其他趣味的文件 处理无限数量的文件 当您有大量文件时,不会像使
问题内容: 在最近的几天里,我试图从SQL表中获取数据并将其放入文本框。 表名称:“检查”。 我正在使用的代码: 结果我什么也没得到。有人知道为什么吗?也许我没有正确调用SQL? 问题答案: 一些评论: 不要使用,仅指定您需要的字段 使用-更少的代码,保证处理 我假设这是一个测试程序,否则在循环中将其重置为无意义