我是一名大学生,正在做一个长达一学期的项目,我的项目遇到了障碍。在我继续之前,要知道我看过了堆栈溢出上的类似线程,它们似乎都不符合我的情况。
我有一个从pdf生成的字符串输入,其中包含来自表的丰富数据。问题是,由于格式的原因,部门列的一些表项从1行变成了2行,我无法解决这个问题。例如,
PS 253 (我的算法处理得很好)
体量
243HON (破坏一切)
我需要最终能够将它们放在同一行,并删除MA后面的“\n”,以便将其发送到程序的其余部分。我试图检查\n部门代码(MA)后的一个或两个索引位置,并更改从中获得243HON的索引,但未起作用。
我还尝试了String = string.replaceAll("MA \n","MA "),如代码所示。删除MA和\n之间的空格不会产生任何影响。以下是我的代码的相关部分。谢谢!
public static String[] departments = {"\nAS","\nSF","\nAE","\nAF","\nAT","\nLAR","\nAMS","\nBIO","\nBA","\nCHM","\nLCH","\nCIV","\nCSO",
"\nCOM","\nCEC","\nCS","\nCYB","\nEC","\nEE","\nEGR","\nEP","\nES","\nFA","\nGCS","\nHS","\nHON","\nHF","\nHU","\nMA","\nME","\nWX",
"\nMSL","\nNSC","\nPE","\nPS","\nPSY","\nSIM","\nSS","\nSE","\nSP","\nSYS","\nUNIV","\nUA"};
public static String[] departmentsFix = {"\nAS \n","\nSF \n","\nAE \n","\nAF \n","\nAT \n","\nLAR \n","\nAMS \n","\nBIO \n","\nBA \n","\nCHM \n","\nLCH \n","\nCIV \n","\nCSO \n",
"\nCOM \n","\nCEC \n","\nCS \n","\nCYB \n","\nEC \n","\nEE \n","\nEGR \n","\nEP \n","\nES \n","\nFA \n","\nGCS \n","\nHS \n","\nHON \n","\nHF \n","\nHU \n","\nMA \n","\nME \n","\nWX \n",
"\nMSL \n","\nNSC \n","\nPE \n","\nPS \n","\nPSY \n","\nSIM \n","\nSS \n","\nSE \n","\nSP \n","\nSYS \n","\nUNIV \n","\nUA \n"};
public static void main(String[] args) {
// TODO Auto-generated method stub
Loader loader = new Loader();
try {
File file = new File("C:\\Users\\User\\Desktop\\EclipseWorkspace\\SE 300\\ER_SCHED_PRT.pdf");
PDDocument document = PDDocument.load(file);
PDFTextStripper s = new PDFTextStripper();
loader.content = s.getText(document);
String[] splitString = loader.content.split("Instructor", 2);
loader.content = splitString[1];
int index = 0;
for (String y : departmentsFix) {
//find any departments with a \n after them and replace it with a space
loader.content = loader.content.replaceAll(y, departments[index] + " ");
index++;
}
发布于 2018-09-23 08:50:52
我刚修好了。通过find函数,我发现格式不是\nMA \n,而是\nMA \r\n。更改这一格式很大程度上解决了问题,但有一个小的不相关的错误,可以通过使用额外的空间进行补偿。尽管如此,还是要感谢您的帮助。
https://stackoverflow.com/questions/52461600
复制相似问题