草庐IT

regex-group

全部标签

java - 使用 Java stream API 像 SQL GROUP BY 一样汇总数据

使用SQL,我可以编写以下代码来汇总数据:SELECTsum(f1),sum(f2),f3,f4FROMTABLEXGROUPBYf3,f4这将返回一个列表,每行有4个值:sum1、sum2、v3、v4例如:这是表中的内容:1,2,a,b1,2,a,b2,2,c,d2,2,c,d3,4,c,d结果将是:2,4,a,b7,8,c,d现在假设我的数据不是数据库表,而是Java对象列表中的变量f1、f2、f3、f4。JavastreamAPI中有没有函数可以根据f3、f4来汇总这个列表? 最佳答案 仅使用JDK的StreamAPI执行此操

Java Regex 屏蔽字母数字字符串并显示最后 4 位数字

我有一个类似于以下任何内容的输入字符串:Z4352442946D92S4293488DFJ33基本上字符串可以包含字母字符或数字。但是它不能包含符号,只能包含字母和数字。我想掩盖它,使其看起来像这样:*****4429*****S429*****FJ33我到处寻找使用正则表达式来掩盖这一点的Java代码示例。我找到了thispost在堆栈上,但假设输入纯粹是一个数字。我将正则表达式调整为/\w(?=\w{4})/g以包含字符。似乎有效here.但是当我尝试用java实现它时,它不起作用。这是我的Java代码中的一行:Stringmask=accountNumber.replace("\

如何使用Regex样式替换字符串字符?

试图样式|在字符串中划定的界限,但它为字符串添加了完整的标签,任何想法如何使用普通的JavaScript完成此任务?ctrl.jsvarstring="[2017-07-12T12:38:36-04:00]|zsh458|info||[infra.actorRouter]ProcessingmessagefromtopicUEQ:216014da-b849-4a1d-8232-3629e58338ce{partition:0,offset:12081530}"varmessage=string.replace(/\|/g,'|');console.log(message);//printing

java - 在 JPA 中使用 GROUP BY

我在问题实体和类别实体之间建立了@ManyToMany关系。我想统计每个类别中的问题数量。我该怎么做? 最佳答案 selectcount(question.id),category.descriptionfromCategorycategoryleftjoincategory.questionsquestiongroupbycategory.description 关于java-在JPA中使用GROUPBY,我们在StackOverflow上找到一个类似的问题:

如何将REGEX与String.split()一起使用

我有以下字符串:StringfullPDFContex="Title1Title2\r\nTitle3Title4\r\n\r\nTitle5Title6\r\n\r\nTitle7\r\n\r\n\r\n\r\n\r\n"我想将其转换为一个看起来像这样的字符串。String[]Title={"Title1Title2","Title3Title4","Title5Title6","Title7"}我正在尝试以下代码。String[]Title=fullPDFContext.split("\r\n\r\n|\r\n\r\n|\r\n");但没有获得所需的输出。看答案您需要使用与任何数量包含线路

java - 起始索引已知时 Substring 与 RegEx 的性能比较

我需要提取在java.lang.String中找到的第一个整数,我不确定是尝试使用substring方法还是正则表达式方法://Wanttoextractthe510intoanint.Stringextract="PowerFactor510";//Either:intnum=Integer.valueof(extract.substring(???));//Oraregexsolution,somethinglike:Stringregex="\\d+";Matchermatcher=newMatcher(regex);intnum=matcher.find(extract);所以

java - 写入 : [\/] (\or/regex) correctly?

我正在尝试编写匹配\或/的正则表达式。无论我按什么顺序写:[//\]或[/\\]它以某种方式转义了我的方括号或正斜杠。显示此特定案例的正确方法是什么? 最佳答案 是的,您在第二个正则表达式中转义了右括号,第一个甚至不会编译为字符串。你要"[/\\\\]"问题中的两个正则表达式都是正确的普通正则表达式。但是,由于正则表达式是在Java字符串文字中指定的,要指定\,您需要将其转义为\\。因此,我们以"[/\\\\]"或"[\\\\/]"结束。总之,要在正则表达式中正确指定\,我们必须将它转义为\\。为了在Java字符串文字中正确指定\\

java - 如何在 Java 8 Stream API 中使用 Collectors.grouping 来创建 map

我第一次寻找Java8的StreamAPI。我尝试创建一个过滤器来从Map中删除元素。这是我的map:Mapm=newHashMap();我想删除值)。这是我一直在尝试的:m.entrySet().stream().filter(p->p.getValue()>0).collect(Collectors.groupingBy(s->s.getKey()));我得到一个HashMap>。所以,这不是我想要的。我也试过:m.entrySet().stream().filter(p->p.getValue()>0).collect(Collectors.groupingBy(Map::Ent

使用Apache Drill的group_concat()替代方案是什么?

我正在尝试使用ApacheDrill。group_concat()不支持。我需要对字符串进行分组。看答案ApacheDrill没有group_concat的替代方案,但是您可以尝试开发您的自定义聚合功能.

MySQL:按天数计数Rowid和Group和前一周的计数器。

我有一个问题,我无法弄清楚如何计算上周每天的ROWID数量,然后由计数器分组。这是我目前的结果这是我要实现的结果以下是我当前的查询。USEdatabaseSELECTCOUNTERASCounter,SUM(CASEWHENPalletFound='Y'THEN1ELSE0END)AS'TotalPalletsFound',SUM(CASEWHENPalletnotFound='Y'THEN1ELSE0END)AS'TotalPalletsNotFound',COUNT(RowID)AS'TotalCounted',DATEADD(WK,DATEDIFF(WK,7,GETDATE()),0)A