MultiProtocolURI.java

Forum for developers

MultiProtocolURI.java

Beitragvon gaston » Mi Jul 04, 2012 4:48 pm

Die aktuelle Variante ersetzt keine "&..."s.
Code: Alles auswählen
private static final Pattern ampPattern = Pattern.compile("&");
public String toNormalform(final boolean excludeReference, final boolean stripAmp, final boolean removeSessionID) {
    String result = toNormalform0(excludeReference, removeSessionID);
    if (stripAmp) {
        result = ampPattern.matcher(result).replaceAll("&");
    }
    return result;
}

Die Pattern Variante ist auch etwas übertrieben. Hier die einfachste Lösung.
Code: Alles auswählen
public String toNormalform(final boolean excludeReference, final boolean stripAmp, final boolean removeSessionID) {
    String result = toNormalform0(excludeReference, removeSessionID);
    if (stripAmp) {
        while (result.indexOf("&") >= 0) {
            result = result.replaceAll("&", "&");
        }
    }
    return result;
}
gaston
 
Beiträge: 143
Registriert: Fr Jan 06, 2012 2:22 pm

Re: MultiProtocolURI.java

Beitragvon Orbiter » Mi Jul 04, 2012 7:05 pm

nee das ist nicht übertrieben, denn java macht an dieser Stelle genau dieses Compile und dann erst das replaceAll. Ohne Vorcompilierung wird das compile dann immer wieder durchgeführt.
Orbiter
 
Beiträge: 5798
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: MultiProtocolURI.java

Beitragvon gaston » Mi Jul 04, 2012 7:29 pm

Mir ging es darum das keine "&..."s ersetzt werden.

Wenn es beim Pattern bleiben soll, fehlt halt noch der Matcher.

Code: Alles auswählen
Matcher matcher = ampPattern.matcher(result);
while (matcher.find()) {
    result = matcher.replaceAll("&");
    matcher.reset(result);
}

Und das zusammen finde ich übertrieben. Ist mir aber auch egal solange "&..."s richtig ersetzt werden ;)
gaston
 
Beiträge: 143
Registriert: Fr Jan 06, 2012 2:22 pm


Zurück zu YaCy Coding & Architecture

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron