- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用带有定界符的扫描仪,我遇到了一个我想了解的奇怪行为。
我正在使用这个程序:
Scanner sc = new Scanner("Aller à : Navigation, rechercher");
sc.useDelimiter("\\s+|\\s*\\p{Punct}+\\s*");
String word="";
while(sc.hasNext()){
word = sc.next();
System.out.println(word);
}
输出是:
Aller
à
Navigation
rechercher
所以首先我不明白为什么我得到一个空白标记,documentation说:
Depending upon the type of delimiting pattern, empty tokens may be returned. For example, the pattern "\s+" will return no empty tokens since it matches multiple instances of the delimiter. The delimiting pattern "\s" could return empty tokens since it only passes one space at a time.
我正在使用 \\s+
那么为什么它会返回一个空白标记?
关于正则表达式,我还想了解另一件事。如果我使用“反向”正则表达式更改分隔符:
sc.useDelimiter("\\s*\\p{Punct}+\\s*|\\s+");
输出是正确的,我得到:
Aller
à
Navigation
rechercher
为什么会这样?
编辑:
对于这种情况:
Scanner sc = new Scanner("(23 ou 24 minutes pour les épisodes avec introduction) (approx.)1");
sc.useDelimiter("\\s*\\p{Punct}+\\s*|\\s+"); //second regex
在 introduction
和 approx
之间我还有一个空白标记。是否可以避免?
最佳答案
我有一种感觉,您在空格后跟标点符号的地方引起了两个定界符捕获。为什么不简单地使用 [\\s\\p{Punct}]+
?
此正则表达式 \\s+|\\p{Punct}+
将首先捕获空格并将其吞下,然后捕获下一个分隔符作为标点符号。这将是两个彼此相邻的分隔符,中间没有任何内容(空标记)。
关于java - 了解 Scanner : why I get blank token? 中的 useDelimiter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10765597/
我正在尝试使用此页面了解人工神经网络(它正在处理中,但我在更改一些小部分的同时将其转换为 C++):http://natureofcode.com/book/chapter-10-neural-net
我对此重定向有疑问。我试过使用 RewriteRule 和 RewriteCond 的 .htaccess 方法,以及 VirtualDirectory 方法。这是我为 VirtualHost 所做的
如果单元格 A1 为空白并且同一行中的任何单元格不为空白,我需要突出显示它。该行中的大多数单元格中都会包含公式。 最佳答案 创建一个新的条件格式,并使用这个公式: =AND($A$1="",COUNT
我在 Excel 中有这样一个公式: =IF(A1="foo";"";"0") 如果公式返回空白值,我不希望 POI 创建的结果 csv 文件中有任何值。如果公式返回 0,我希望在我的 csv 文件中
我正在尝试做类似this的操作,但是对于引用的电子邮件,所以这 On 2014-07-11 at 03:36 PM, wrote:
我正在使用 django-rest-framework 创建 Django 应用程序并使用 djongo 连接到 MongoDB。我有这样的嵌套模型: class Group(models.Model
我想在 VBA 中控制切片器,并想检查是否选择了空值,使用: If slicerCache.SlicerItems.Item("(blank)").selected = True 空值会自动获得标签(
这里是示例代码: var xwin = window.frames[0]; console.log(xwin.location); 即使链接“http://www.w3schools.com/j
如果表单中有空白,则会弹出警报。Javascript 中的错误检查正在工作, 但关闭警报后,表单中的文本将为空白。 我希望我填写的文本在警报关闭后仍保留。 因为我想填补警报后唯一的空白。 你能让我知道
我的 chrome 扩展内容脚本中有以下代码: window.open(chrome.extension.getURL("options.html"),'_blank'); 但是每当我尝试这个时,我只
在表单中,我有许多文本框。 我想要其中一个文本框作为可选。也就是说,用户可以填写也可以不填写此文本框。用户在提交时可以将其留空。但如果用户输入任何值,则该值必须是 url。 我正在使用以下代码。 @U
如何让下面的代码不捕获元素 具有属性 target="blank" ?因为location.href = link.href;在同一张卡片中打开(只有带有 target="blank" 的链接应该在没
截图: (来源:freenetph.yn.lt) 我在第 3 方网站上找到了这个随机链接代码(我忘记了名字),它看起来对我很有帮助,但我的问题是,我希望所有这些链接在单击时都会在新选项卡中打开。任何人
我只是在安装 laravel 时运行以下命令来设置路径 source ~/.bashrc 执行此命令后,ubuntu 终端上不会显示任何内容。只是光标在闪烁。 该怎么办? 最佳答案 ~/.bashrc
如何使用“空白”值更新列值(varchar(20), not null)? 最佳答案 如果要使用NULL更新它,则需要对其进行更改以允许NULL。否则,使用空字符串""更新。 关于sql - 如何使用
我目前正在使用 Excel VBA 中的数组处理大量数据。到目前为止,包含空白单元格的源数据已被视为零,但现在我必须尝试区分空白单元格和其中包含零的单元格。 是否可以使数组输出为零而不是零?这样……
我试过了 let url = URL(string: "http://about:blank") 和 let url = URL(string: "about:blank") Butt
在我将 LinkedIn 公司页面关注按钮添加到我们的网站后,单击该按钮会导致一个 about:blank 页面。显然,在阅读了一些关于同一问题的主题后,公司页面确实得到了关注。然而,被重定向到一些空
从 Firebug JavaScript 控制台是否可以访问 的内容对象 src属性设置为about:blank ?我尝试过: var b=document.getElementById("ifra
我是python新手,此代码旨在打印出MusicTaste.csv文件中的前100个常用单词并将其打印在表格中。我已经解决了过去的语法错误,但之前从未见过此错误。 请参见下面的代码 import re
我是一名优秀的程序员,十分优秀!