小编Ide*_*ty1的帖子

如何使用堆栈来解析字符串

我有一个字符串:

String stringContent="{\\*\\listtable{\\list{\\listlevel{\\leveltext}{\\levelNumber}}}}"
Run Code Online (Sandbox Code Playgroud)

如何在每个传递中逐个选择所有封闭括号的值,如下所示:

"{\\levelNumber}"
"{\\leveltext}"
"{\\listlevel{\\leveltext}{\\levelNumber}}"
"{\\list{\\listlevel{\\leveltext}}}"
"{\\*\\listtable{\\list{\\listlevel{\\leveltext}}}}"
Run Code Online (Sandbox Code Playgroud)

到目前为止我已经这样做了:

   public class StringExtracter {

public String stringofObject(Section parentSectionObject, String stringContent) {
    Stack stack=new Stack();
    String returnString = "";

    char arr[] = stringContent.toCharArray();


    for(int i=0;i<=arr.length;i++){

      while(arr[i]!='}'){
       if(arr[i]=='{'){
           stringContent=stringContent.substring(i+1);
           returnString=stringContent;
           System.out.println(stringContent);
           braces=true;
           Section sectionObject=new Section(parentSectionObject,stringContent);
          stack.push(arr[i]);


       }           

    }
    return returnString;
}
Run Code Online (Sandbox Code Playgroud)

但问题是它没有}像这样检测到这个权利.我该怎么做?

截至目前的输出:

\*\listtable{\list{\listlevel{\leveltext}{\fefw}}}}
\list{\listlevel{\leveltext}{\fefw}}}}
\listlevel{\leveltext}{\fefw}}}}
\leveltext}{\fefw}}}}
\fefw}}}}
Run Code Online (Sandbox Code Playgroud)

java string stack rtf

6
推荐指数
1
解决办法
1501
查看次数

清单如何在RTF中运作

我已经在Java中实现了一个解析器,以将列表存储为对象。但是列表的内容和层次结构信息存储在两个不同的块中。我试图找出如何呈现以下列表,并将继承信息存储在RTF中,以便可以在程序中执行相同操作。

在此处输入图片说明

我发现列表的内容存储在\listtext下面的RTF中的“内容”的父块中。另外,我假设可以将层次结构信息存储在\listtable或中\pnseclvl。但是即使经过规格说明也很难找到模式。我的假设错了吗?列表在RTF中的工作方式。

列表表

{\*\listtable{\list\listtemplateid692362954\listhybrid{\listlevel\levelnfc0
    \levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'00.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li720\lin720 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0
    \levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'01.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li1440\lin1440 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0
    \levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698715\'02\'02.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li2160\lin2160 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1
    \lvltentative\levelspace360\levelindent0{\leveltext\leveltemplateid67698703\'02\'03.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li2880\lin2880 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative
    \levelspace360\levelindent0{\leveltext\leveltemplateid67698713\'02\'04.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li3600\lin3600 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360
    \levelindent0{\leveltext\leveltemplateid67698715\'02\'05.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li4320\lin4320 }{\listlevel\levelnfc0\levelnfcn0\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0
    {\leveltext\leveltemplateid67698703\'02\'06.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5040\lin5040 }{\listlevel\levelnfc4\levelnfcn4\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
    \leveltemplateid67698713\'02\'07.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-360\li5760\lin5760 }{\listlevel\levelnfc2\levelnfcn2\leveljc2\leveljcn2\levelfollow0\levelstartat1\lvltentative\levelspace360\levelindent0{\leveltext
    \leveltemplateid67698715\'02\'08.;}{\levelnumbers\'01;}\rtlch\fcs1 \af0 \ltrch\fcs0 \fi-180\li6480\lin6480 }{\listname ;}\listid951520154}}
Run Code Online (Sandbox Code Playgroud)

内容:

{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect 
\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen
\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin1440\dgvorigin1440\dghshow1\dgvshow1
\jexpand\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct
\asianbrkrule\rsidroot15166050\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0
{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang 
{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta …
Run Code Online (Sandbox Code Playgroud)

java rtf

6
推荐指数
1
解决办法
538
查看次数

如何从文本中检索各种日期和时间值

我想从一组字符串中检索日期和其他时间实体。可以这样做,而无需在JAVA中解析日期字符串,因为大多数解析器只能处理有限范围的输入模式。但是输入是手动输入,因此在这里是不明确的。

输入可以像:

9月12日| 3月中| 2013年9月12日

9月12日| 9月12日| 2013年

2013年9月13日| 9月12日| 12月12日

在Java中查找日期时,我经历了许多答案,但是大多数答案都没有处理如此庞大的输入模式。

我试过使用SimpleDateFormat类并使用一些parse()函数来检查解析函数是否中断,这意味着它不是日期。我试过使用,regex但不确定在这种情况下是否适合。我还使用ClearNLP来注释日期,但是它没有提供可靠的注释集。

获得这些值的最接近方法是使用Chain of responsibility如下所述的a 。是否有一个具有一组日期模式的库。我可以用那个吗?

java nlp date temporal gate

5
推荐指数
1
解决办法
533
查看次数

pdfbox标题版本信息错误

我使用PDFbox解析该pdf文档.它抛出异常,说它无法找到标题版本信息.任何的想法?

我认为版本是1.3我在将每个字节转换为char时看到它.链接是http://www.selab.isti.cnr.it/ws-mate/example.pdf

这里的方法和输出代码:

 public String PDFtest(String textLink) throws IOException{
        PDFParser parser;
        String parsedText = null;
        PDFTextStripper pdfStripper;
        PDDocument pdDoc;
        COSDocument cosDoc;
        PDDocumentInformation pdDocInfo;


    StringBuilder sd=new StringBuilder();
    URL link;
    try {
        link = new URL(textLink);
        URLConnection urlConn = link.openConnection();
        BufferedInputStream in = null;
        in = new BufferedInputStream(urlConn.getInputStream());
        byte data[] = new byte[1024];
        in.read(data, 0, 1024);

    parser = new PDFParser(in);
    parser.parse();
    cosDoc = parser.getDocument();
    pdfStripper = new PDFTextStripper();
    pdDoc = new PDDocument(cosDoc);
    parsedText = pdfStripper.getText(pdDoc);
    } catch (MalformedURLException ex) {
        Logger.getLogger(HTMLhelper.class.getName()).log(Level.SEVERE, …
Run Code Online (Sandbox Code Playgroud)

java pdf parsing pdfbox

3
推荐指数
2
解决办法
1万
查看次数

为什么eclipse IDE会禁用私有和受保护的类创建单选按钮

只是想知道如果我们尝试创建它而右键单击项目然后"new> class>",eclipse IDE阻止我们创建私有/受保护类的原因是什么?

如您所见,下图中禁用了专用和受保护的单选按钮.

在此输入图像描述

Java的哪个特性会导致这种情况发生?

java eclipse

-1
推荐指数
1
解决办法
1845
查看次数

标签 统计

java ×5

rtf ×2

date ×1

eclipse ×1

gate ×1

nlp ×1

parsing ×1

pdf ×1

pdfbox ×1

stack ×1

string ×1

temporal ×1