我是一名ANTLR初学者,想要计算符号的SHA1-Hash.
我的简化示例语法:
grammar Example;
method @after{calculateSha1($text); }: 'call' ID;
ID: 'A'..'Z'+;
WS: (' '|'\n'|'\r')+ {skip(); }
COMMENT: '/*' (options {greedy=false;}: .)* '*/' {$channel=HIDDEN}
Run Code Online (Sandbox Code Playgroud)
由于词法分析器删除了不同字符串的所有空格callABC,call /* DEF */ ABC不幸的是得到相同的SHA1-Hash值.
是否有可能在开始和结束标记之间获取规则的"原始"文本以及所有跳过的空格和其他通道的文本?
(我想到的一种可能性是成员WS- 和 - COMMENT工具规则中的所有字符,但是还有更多规则,所以这不太实用.)
我使用标准的ANTLRInputStream来提供Lexer,但我不知道如何接收原始文本.
我是 SolrJ 初学者,想找出确定具有唯一 ID 的文档是否存在的最快方法是什么?我不需要文档,我只想知道它是否已经在索引中。
现在我在 SolrJ 中尝试这样的事情:
private boolean solrContainsId(final String id) {
SolrQuery query = new SolrQuery("id:" + id);
try {
long count = server.query(query).getResults().getNumFound();
return count > 0;
} catch (SolrServerException e) {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我认为会有更好(更快?)不需要得分等的方法......
我必须将字符编码为Html:
< to <
> to >
' to '
" to "
& to &
Run Code Online (Sandbox Code Playgroud)
我在PHP中寻找像htmlspecialchars这样的实用函数:
String htmlspecialchars(String inputText)
Run Code Online (Sandbox Code Playgroud)
是否可以使用JSoup对这些字符进行编码?
(我在Spring框架中找到了htmlEscape,但我不想仅仅为这个简单的函数使用Spring框架.)
我是一个Lift初学者,经常编写这样的代码:我使用Java方法返回一个对象或者null找不到值.所以我需要检查空值:
val value = javaobject.findThing(xyz)
if(value != null) {
value.doAnotherThing()
} else {
warn("Value not found.")
}
Run Code Online (Sandbox Code Playgroud)
我可以使用Box概念更短地编写此代码吗?我已经阅读了有关Box概念的Lift-Wiki文档,但我不明白如何将它与Java null值一起使用.
我们的数据库存储像f.ex这样的HTML 片段.<p>A.</p><p>B.</p>.我想将数据库中的Html fragements包含在Lift片段中.
为此,我尝试使用XML.loadString()-method将fragement转换为a scala.xml.Elem,但这仅适用于完整有效的XML文档:
import scala.xml.XML
@Test
def doesnotWork() {
val result = XML.loadString("<p>A</p><p>B</p>")
assert(result === <p>A</p><p>B</p>)
}
@Test
def thisWorks() {
val result = XML.loadString("<test><p>A</p><p>B</p></test>")
assert(result === <test><p>A</p><p>B</p></test>)
}
Run Code Online (Sandbox Code Playgroud)
测试doesnotWork结果例外:
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 10; The markup in the document following the root element must be well-formed.
Run Code Online (Sandbox Code Playgroud)
是否可以将(有效的)fragements转换为XML?