草庐IT

lambda表达式

全部标签

java - 使用正则表达式获取子串

我受困于正则表达式和Java。我的输入字符串是这样的:"EC:132/194=>68%SC:55/58=>94%L:625"我想读出第一个和第二个值(即132和194)到两个变量中。否则字符串是静态的,只有数字在变化。 最佳答案 我假设“第一个值”是132,第二个是194。这应该可以解决问题:Stringstr="EC:132/194=>68%SC:55/58=>94%L:625";Patternp=Pattern.compile("^EC:([0-9]+)/([0-9]+).*$");Matcherm=p.matcher(str)

java - 用于匹配所有大写字母后跟冒号的单词的正则表达式模式

我需要一个模式来匹配像APPLE:这样的词或PEAR:[A-Z][:]将匹配R:但不是整个单词,因此当我尝试匹配时给了我一个错误。有人可以帮忙吗? 最佳答案 您想匹配一个或多个大写字母,这意味着您需要使用+。此外,您的:不需要在字符类中:[A-Z]+: 关于java-用于匹配所有大写字母后跟冒号的单词的正则表达式模式,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6756020/

java - EL 表达式中的字符比较

这个问题在这里已经有了答案:HowtocompareacharpropertyinEL(1个回答)关闭6年前。我想做这样的事情:tadaaaam当somestring为“11011”但它不起作用时。我可以用打印它${somestring.charAt(0)}它是“1”,但上面的比较失败了。对比如下:if(somestring.charAt(0)=='1')纯Java中的worx(条件为真)。有什么想法吗?

Java lambda 子列表

通过Java8lambda表达“从列表Awhere条件中获取新列表B”的最短方式是什么?假设我有Lista=Arrays.asList(1,2,3,4,5)我想要一个新列表B,其中的值大于3。我已经通读了新的CollectionsStreamsAPI,但我不相信我已经找到了最好的方法,并且不想用我可能不太完美的解决方案来玷污这个问题。 最佳答案 a.stream().filter(x->x>3).collect(Collectors.toList());Java16解决方案可以写成更短的形式JDK16whichincludesato

Java:由正则表达式分割的字符串只得到整数

我有一个字符串:[1,2,3,4]。我只需要获取整数1234。我尝试了以下拆分:str.split(",");str.split("\\D\\s");两个拆分都返回四个元素:[1234],但我不需要这些括号[]。拆分正则表达式有什么问题?已更新我不得不提一下,每个数字都用[]包裹的情况可能会发生。 最佳答案 你可以尝试先过滤掉不需要的元素,然后拆分:Stringfiltered=str.replaceAll("[^0-9,]","");String[]numbers=filtered.split(",");

Java正则表达式全部替换不替换所有单词

我在Java中使用这个正则表达式已经很久了,但无法让它工作:(?:^|)(?:the|and|at|in|or|on|off|all|beside|under|over|next)(?:|$)以下内容:pattern.matcher("thecatinthehat").replaceAll("")给我帽子。另一个示例输入是thecatinofthenexthat这给了我catofnexthat。有什么方法可以让这个正则表达式替换正常工作,而不必为每个单词将它们分成多个单独的正则表达式并尝试重复替换字符串? 最佳答案 是的,你可以很容

java - 从 lambda 抛出异常

这个问题在这里已经有了答案:Java8Lambdafunctionthatthrowsexception?(27个答案)关闭7年前。给定这个java8代码publicServersend(Stringmessage){sessions.parallelStream().map(Session::getBasicRemote).forEach(basic->{try{basic.sendText(message);}catch(IOExceptione){e.printStackTrace();}});returnthis;}我们如何正确地使这个IOException被委托(delega

java - 使用正则表达式查找所有包含 3 个字母的单词

我正在尝试查找字符串中所有包含3个字母的单词。所以在这个列表中catmonkeydogmouse我只要catdog这是我的表情:^[a-zA-Z]{3}$我用不同的在线正则表达式测试器对其进行了测试,但没有一个与我的表达式匹配。 最佳答案 您应该使用带有单词边界的匹配项而不是anchor:\b[a-zA-Z]{3}\bRegExDemo当您使用时:^[a-zA-Z]{3}$这意味着你想匹配一行恰好有3个字母。 关于java-使用正则表达式查找所有包含3个字母的单词,我们在StackOve

java - 在 Lambda 表达式(Java)中,如何使用不带参数的表达式?

据我所知,有3种javalambda表达式。(intx,inty)->{returnx+y;}x->x*x()->x第三个似乎从未使用过。您能否为这3个案例中的每一个都举一个例子(案例3的额外示例会很好)来说明它们的用法?请使它们尽可能简单(最好以list.stream()....开头) 最佳答案 Thefirstexpressionwillbeusedwhereyouget2parametersforamethodandreturnavalue.Thesecondexpressionwillbeusedx->x*xwhereyou

java - 如何在 Java 中使用 lambda 函数对每列和每行的列表列表求和?

我有一个这样的列表列表:List>listOfLists=newArrayList();classWrapper{privateintvalue=0;publicintgetValue(){returnvalue;}}看起来像这样:[[Wrapper(3),Wrapper(4),Wrapper(5)],[Wrapper(1),Wrapper(2),Wrapper(9)],[Wrapper(4),Wrapper(10),Wrapper(11)],]在Java8中使用lambda函数是否有一种简洁的方法来展平这个列表列表:(percolumn):[Wrapper(8),Wrapper(16