[JAVA] Quote functie

Pagina: 1
Acties:

  • Nephilim
  • Registratie: Augustus 2000
  • Laatst online: 15-05 00:38
Ik probeer in java een functie te schrijven die een e-mail bericht quote, maar mijn huidige code geeft nu niet echt het gewenste resultaat.

Ik heb al wat code van andere programma's proberen te doorploegen, zonder resultaat echter.

Hieronder kan je zien wat er met een tekst die gequote wordt, gebeurt:
On 2002-05-19 23:28:34, Bart Peiren <nephilim@nephilimco.com> wrote:
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> > xxxxxxxx.
>
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

1 r 19 May 22:53 Bart Peiren ( 9) xxxxxxxxxx
2 r 19 May 23:28 Bart Peiren ( 44) |*>
3 20 May 01:09 xxxxxxxxxxxx ( 57) | `->
4 19 May 23:05 xxxxxxxxxxxx ( 33) `->

xxxxxxxxxxxxxxxxx!

xxxxxxxxx
> On 2002-05-19 23:28:34, Bart Peiren <nephilim@nephilimco.com> wrote:
> > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> > > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxx
> > > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxx
> > > xxxxxxxx.
> >
> > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxx
> > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxxxx
> > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> > xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxxxxxxx
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxxxxxx
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxx
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
> 1 r 19 May 22:53 Bart Peiren ( 9) xxxxxxxxxx?
> 2 r 19 May 23:28 Bart Peiren ( 44) |*>
> 3 20 May 01:09 xxxxxxxxxxxx ( 57) | `->
> 4 19 May 23:05 xxxxxxxxxxxx ( 33) `->
> xxxxxxxxxxxxxxxxx!
> xxxxxxxxx
Mijn code:
PHP:
1
<?    private String createQuotedText(String body) {        // cut off .sig        body = body.substring(0, body.lastIndexOf("\n-- \n"));                String quote = new String();        String line;        StringTokenizer st = new StringTokenizer(body, "\n");                int i = 1;        while (st.hasMoreTokens()) {            line = st.nextToken();            //System.out.println(line.length() + " <--> " + line);            if (line.length() > MAX_LENGTH - 2) {                int begin = 0;                int length = line.length();                while (begin < length) {                    int end = begin + MAX_LENGTH - 2;                    if(end > length) {                        end = length-1;                    }                    // find last space and dot on this line                    int spaceIndex = line.substring(begin, end).lastIndexOf(" ");                    int dotIndex = line.substring(begin, end).lastIndexOf(".");                                        //System.out.println(spaceIndex + " -- " + dotIndex);                                        if (spaceIndex != -1 &amp;&amp; dotIndex == -1) {                        end = begin + spaceIndex;                    } else if (spaceIndex == -1 &amp;&amp; dotIndex != -1) {                        end = begin + dotIndex;                    } else if (spaceIndex == -1 &amp;&amp; dotIndex == -1) {                        end = begin + 73;                    } else {                        if (spaceIndex > dotIndex) {                            end = begin + spaceIndex;                        } else {                            end = begin + dotIndex;                        }                    }                    if(end > length) {                        end = length-1;                    }                                        //System.out.println(begin + " tot " + end);                    quote += "> " + line.substring(begin, end + 1) + "\n";                    //System.out.println(line.substring(begin, end+1));                    begin = end + 1;                    //System.out.println(begin + " tot " + end);                }            } else {                quote += "> " + line + "\n";            }        }                return quote;    }?>

Alvast bedankt!

edit:

Wat m'n vraag nou juist is: hoe krijg ik dat bericht dan wel correct gequote zoals het normaal gedaan wordt?

Verwijderd

Maar wat is nou de vraag?.. :P

edit:
Want je deeld alleen wat mede...

  • Mir
  • Registratie: Maart 2001
  • Niet online

Mir

Ik denk dat 'ie dat enters \n\r er ook bijgequot (wat een woord) wil hebben

  • Nephilim
  • Registratie: Augustus 2000
  • Laatst online: 15-05 00:38
Eens proberen samen te vatten:
Elke regel mag maximum 75 regels lang zijn. Langere regels moeten dus op de volgende lijn voortgezet worden. Die te lange zin moet afgeknipt worden op een plaats waar een spatie of punt staat, niet midden in een woord.

Als een regel afgeknipt wordt, is het dom dat er daardoor slechts één woord op de volgende lijn staat.

That's it I think.

Originele mail:
Beste student,

Een tijdje geleden heb je kennis gemaakt met Econocom op de campus recruitment
van je school. Momenteel zoeken wij stagiairs:

1. Administratieve ondersteuning (administratieve taken in H.R., sales of
coaching afdeling)
2. PC technieker (PC installaties, configuraties, support naar gebruikers)
3. Analyst Programmeur (programmatie, technische analyse, ontwikkeling,
testing)

Indien je geïnteresseerd bent in één van onze stageaanbiedingen, stuur dan zo
spoedig mogelijk je cv naar recruitment.be@econocom.be met als subject
'Stageplaats Campus Recr.' en beantwoord in je mail de volgende vraagjes:

· Ben je geïnteresseerd in een administratieve stageplaats, een stageplaats
als PC technieker of als analyst programmeur?
· Hoe lang duurt je stage en wanneer gaat ze precies door?
· Is er een eindwerk gekoppeld aan je stage?

Wij hopen zo spoedig mogelijk iets van jou te vernemen en wensen je veel succes
met je examens.
Zoals het nu gequote wordt:
> Beste student,
> Een tijdje geleden heb je kennis gemaakt met Econocom op de campus
> recruitment
> van je school. Momenteel zoeken wij stagiairs:
> 1. Administratieve ondersteuning (administratieve taken in H.R., sales of
> coaching afdeling)
> 2. PC technieker (PC installaties, configuraties, support naar gebruikers)
> 3. Analyst Programmeur (programmatie, technische analyse, ontwikkeling,
> testing)
> Indien je geïnteresseerd bent in één van onze stageaanbiedingen, stuur dan
> zo
> spoedig mogelijk je cv naar recruitment.be@econocom.be met als subject
> 'Stageplaats Campus Recr.' en beantwoord in je mail de volgende vraagjes:
> · Ben je geïnteresseerd in een administratieve stageplaats, een
> stageplaats
> als PC technieker of als analyst programmeur?
> · Hoe lang duurt je stage en wanneer gaat ze precies door?
> · Is er een eindwerk gekoppeld aan je stage?
> Wij hopen zo spoedig mogelijk iets van jou te vernemen en wensen je veel
> succes
> met je examens.
Hoe het zou moeten:
> Beste student,
>
> Een tijdje geleden heb je kennis gemaakt met Econocom op de campus
> recruitment van je school. Momenteel zoeken wij stagiairs:
>
> 1. Administratieve ondersteuning (administratieve taken in H.R., sales of
> coaching afdeling)
> 2. PC technieker (PC installaties, configuraties, support naar gebruikers)
> 3. Analyst Programmeur (programmatie, technische analyse, ontwikkeling,
> testing)
>
> Indien je geïnteresseerd bent in één van onze stageaanbiedingen, stuur dan
> zo spoedig mogelijk je cv naar recruitment.be@econocom.be met als subject
> 'Stageplaats Campus Recr.' en beantwoord in je mail de volgende vraagjes:
>
> · Ben je geïnteresseerd in een administratieve stageplaats, een
> stageplaats als PC technieker of als analyst programmeur?
> · Hoe lang duurt je stage en wanneer gaat ze precies door?
> · Is er een eindwerk gekoppeld aan je stage?
>
> Wij hopen zo spoedig mogelijk iets van jou te vernemen en wensen je veel
> succes met je examens.