我想在Java中做一些解析,我使用眼镜蛇HTML解析器将HTML获取到DOM,然后使用XPath获取我想要的节点。当我坐下来所期望的水平我打电话node.getTextContents(),但是这给了我像Java内部文本(getTextContents())问题
"\n\n\nValue\n-\nValue\n\n\n"
字符串是否有一个内置的方式摆脱换行吗?我想在内部文本做一个正则表达式像
(?:\s*([^-]+)\s*-\s*([^-]+)\s*)
和真的不希望有处理文本之间可能存在不同的空格符号。
例输入:
Value
-
Value
感谢
我相信(相当实际上肯定)的。NET将返回 “价值 - 价值”给予相同的输入,这显然具有节点内部的换行符 。所以说一个更好的方法是,DOM解析器能否将这个字符串与我无关(至少对我来说)给出空白空间? – LostNomad311 2009-12-07 06:47:23
所有事情都考虑到了,我很慢。 你们是正确的那些RegExes工作得很好,我没有 - 在Java中是这样的。但是,Java处理RegEx它不同于.Net和JavaScript。无论如何,简化我的发现后,我发现'(?:\ s *)([^ - ] +)(?:\ s *)'最接近我想要的。 因此,我最新的,并希望不像最后一个完全关闭,问题是我如何摆脱最后RegEx返回的单个尾随空格(有一个空格或换行符(尝试后跟作为源)之后每个'价值'在例子中)? – LostNomad311 2009-12-12 08:53:17