Tag: 解析

从pdf文件中提取文本

我需要从pdf文件中提取文字(逐字逐句)。 import java.io.*; import com.itextpdf.text.*; import com.itextpdf.text.pdf.*; import com.itextpdf.text.pdf.parser.*; public class pdf { private static String INPUTFILE = “http://ontology.buffalo.edu/ontology%28PIC%29.pdf” ; private static String OUTPUTFILE = “c:/new3.pdf”; public static void main(String[] args) throws DocumentException, IOException { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(OUTPUTFILE)); document.open(); PdfReader reader = new PdfReader(INPUTFILE); int n = […]

如何将JSON数组转换为Java列表。 我正在使用svenson

我试图将相同类型的多个对象转换为Java中的List 。 例如,我的json将是: { “Example”: [ { “foo”: “a1”, “bar”: “b1”, “fubar”: “c1” }, { “foo”: “a2”, “bar”: “b2”, “fubar”: “c2” }, { “foo”: “a3”, “bar”: “b3”, “fubar”: “c3” } ] } 我上课了: public class Example { private String foo; private String bar; private String fubar; public Example(){}; public void setFoo(String f){ foo = f; […]

解析Java源代码

我被要求开发一个软件,该软件应该能够创建输入Java源代码的流程图/控制流程。 所以我开始研究它并得出以下解决方案: 要创建流程图/控制流,我必须识别在给定源代码中进行的控制语句和函数调用现在我有两种识别方法: 通过编写我自己的语法来解析源代码(我认为这是一个复杂的解决方案)。 我正在考虑使用Antlr。 将输入源代码文件作为文本读取并搜索特定模式(可能会变得低效) 我在这儿吗? 或者我错过了一些非常基本和简单的东西? 哪种方法花费的时间更少,工作效率更高? 在这方面的任何其他建议也将受到欢迎。 任何其他有效的方法都会有所帮助,因为输入源代码可能跨越多个文件,并且可能相当复杂。 我擅长.NET语言,但这是我在Java中的第一个大项目。 我对编译器设计有基本的了解,因此编写语法对我来说不是不可能的。 对不起如果我不清楚。 请询问任何说明。

正则表达式的替代方案

我有一组字符串,其中嵌入了数字。 它们看起来像/ cal / long / 3/4/145:999或/ pa / metrics / CosmicRay / 24:4:bgp:EnergyKurtosis。 我想要一个表达式解析器 使用方便。 举几个例子,某人应该能够形成一个新的表达。 我希望最终用户能够形成新的表达式来查询这组字符串。 一些潜在用户是软件工程师,其他人是测试人员,一些是科学家。 允许对数字进行约束。 类似于’/ cal / long / 3/4/143:#> 100&<1110'来指定带有'/ cal / long / 3/4/143:'的字符串前缀,然后是(100,1110)之间的数字是期待。 支持’|’ 和。 因此表达式’/ cal /(long | short)/ 3/4 / ‘将匹配’/ cal / long / 3/4/1:2’以及’/ cal / short / 3/4/1:2 ”。 Java实现是否可用或易于实现。 有趣的替代想法将是有用的。 […]

Java名称解析库?

我正在寻找一个类似于Perl Lingua :: EN :: NameParse模块的库。 从本质上讲,我想解析像’先生’这样的字符串。 Bob R. Smith’成为前缀,名字,姓氏和名称后缀组件。 谷歌在找到这样的东西方面没有多少帮助,如果可能的话,我宁愿不自己动手。 有人知道OSS Java库可以以复杂的方式完成吗?

序言中不能有内容

我正在尝试使用xslt将xml转换为html。 我使用java.xml.transform在java中执行此操作。 它工作正常,直到我碰到一些xml 。 它说以下错误。 [Fatal Error] :1:1: Content is not allowed in prolog. javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: Content is not allowed in prolog. 所以我确保在xml声明之前没有字符。 我甚至使用解决方案来处理BOM http://forums.sun.com/thread.jspa?messageID=10324562#10324562 仍然没有运气,它只发生在一个xml。 我甚至在编辑器中打开了xml并将其保存在一个带有utf-8编码的文件中。 这真让我抓狂。 任何想法? 更新:当您为xsl文件指定了错误的路径并且发现了文件未找到exception时,会出现此错误。 (这是我的情况。它可能对某人有所帮助。感谢您的回复)

Groovy脚本获取请求xml

我可以使用Groovy脚本获取响应xml。 我需要获取请求XML,因为我需要在我的soap ui测试中添加’断言脚本’。 我使用以下代码来获取响应xml def response = new XmlHolder(messageExchange.responseContentAsXml) 但我不知道如何获取SOAPUI的请求xml。 谁能帮助我获取SOPAUI的xml请求?

使用SimpleDateFormatter和AP​​I代码示例的“Unparseable date”

我正在尝试解析日期,例如”Sat, 29 Dec 2012 04:07:09 +0100″我正在使用SimpleDateFormatter格式设置为 new SimpleDateFormat(“EEE, d MMM yyyy HH:mm:ss Z”, Locale.getDefault()); 不幸的是我得到了 12-29 04:44:29.890: E/MainActivity(3995): Unparseable date: “Sat, 29 Dec 2012 04:07:09 +0100” (at offset 0) 12-29 04:44:29.890: E/MainActivity(3995): java.text.ParseException: Unparseable date: “Sat, 29 Dec 2012 04:07:09 +0100” (at offset 0) 我绝对不会得到,因为参数正则表达式是直接从文档http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html下复制和粘贴的 谢谢!

jsoup – 从维基百科文章中提取文本

我正在编写一些Java代码,以便使用Wikipedia在文本上实现NLP任务。 如何使用JSoup提取维基百科文章的所有文本(例如http://en.wikipedia.org/wiki/Boston中的所有文本)?

if的更短解决方案,否则if,否则if

我正在寻找一种缩短代码的方法,避免重复代码和if语句。 我正在做的是创建一个计算器,在字符串中搜索运算符“* / + – ”并相应地执行它们。 有任何想法吗? if(exp.charAt(i)==’*’) { newResult=Integer.parseInt(exp.substring(0, i)) * Integer.parseInt(exp.substring(i+1, exp.length())); primeResult = newResult; System.out.println(primeResult); } else if(exp.charAt(i)==’/’) { newResult=Integer.parseInt(exp.substring(0, i)) / Integer.parseInt(exp.substring(i+1, exp.length())); primeResult = newResult; System.out.println(primeResult); } else if(exp.charAt(i)==’+’) { newResult=Integer.parseInt(exp.substring(0, i)) + Integer.parseInt(exp.substring(i+1, exp.length())); primeResult = newResult; System.out.println(primeResult); } else if(exp.charAt(i)==’-‘) { newResult=Integer.parseInt(exp.substring(0, i)) – Integer.parseInt(exp.substring(i+1, exp.length())); primeResult = […]