🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #9264

[JAVA] Quote functie

#9264
From: nephilim
Date: Mon, 20 May 2002 12:49
136 lines
5519 bytes
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:
--------------------------------------------------------
private final int MAX_LENGTH = 75;  // maximum #
characters on a line, including quotation signs and spaces

private String createQuotedText(String body) {
	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 && dotIndex == -1) {
					end = begin + spaceIndex;
				} else if (spaceIndex == -1 && dotIndex != -1)
{
					end = begin + dotIndex;
				} else if (spaceIndex == -1 && 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!


-- 
nephilim
<url:http://www.nephilimco.com/nephymail/>
Technical Details
Message-ID: <uh6G8.1918$M34.936157298@hestia.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!supernews.com!telocity-west!TELOCITY!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!skynet.be!skynet.be!ossa.telenet-ops.be!hestia.telenet-ops.be.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII-7-bit
X-Google-Thread: fcea4,746ec54b5815a9cc,start
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-05-20 05:49:31 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-04!supernews.com!telocity-west!TELOCITY!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!skynet.be!skynet.be!ossa.telenet-ops.be!hestia.telenet-ops.be.POSTED!not-for-mail
Sender: Bart Peiren <nephilim@gaseous.pandora.be>
From: nephilim <news@nephilimco.com>
Subject: [JAVA] Quote functie
Newsgroups: be.comp.programming
User-Agent: tin/1.5.11-20020130 ("Toxicity") (UNIX) (FreeBSD/4.5-RELEASE (i386))
Lines: 136
Message-ID: <uh6G8.1918$M34.936157298@hestia.telenet-ops.be>
Date: Mon, 20 May 2002 12:49:30 GMT
NNTP-Posting-Host: 213.118.35.150
X-Complaints-To: abuse@telenet.be
X-Trace: hestia.telenet-ops.be 1021898970 213.118.35.150 (Mon, 20 May 2002 14:49:30 CEST)
NNTP-Posting-Date: Mon, 20 May 2002 14:49:30 CEST
Organization: Telenet Internet