hejsa
jeg sidder og leger med noget pattern matching i java, men er stødt på
et problem. Her er en stump af min kode:
while(line != null){
tokenizer = new StringTokenizer(line, "\t");
pattern = tokenizer.nextToken();
replacer = tokenizer.nextToken();
// Create a pattern to match cat
[1] newpattern = Pattern.compile("[% " + pattern + " %]");
// Create a matcher with an input string
matcher = newpattern.matcher(input);
sb = new StringBuffer();
result = matcher.find();
// Loop through and create a new String
// with the replacements
while(result) {
matcher.appendReplacement(sb, replacer);
result = matcher.find();
}
// Add the last segment of input to
// the new String
matcher.appendTail(sb);
input = sb.toString();
line=patternfile.readLine();
}
problemet ligger i den linje jeg har markeret med [1]. mit pattern jeg
skal søge efter i strengen er bygget op som [% noget tekst %] men
pattern i java forstår [% %] som en samling og laver derfor talt rod i
det. Jeg har prøvet at escape tegnene med \ men det virker ikke
(illigal escape char).
Nogen der ved hvordan denne klares?
MVH
Kim Schulz
--
www.schulz.dk - En nørds bekendelser | Remember, even if you win the
www.guadec.org - tapas, beer and gnome | rat race -- you're still a
| rat.