2010-08-19 1 views
1

Я запускаю ряд подстановок регулярных выражений (т. Е. String.replaceAll) для преобразования всех специальных символов в текстовый файл в синтаксические синтаксические символы XML. Например:Regex subbing out 'section character' в java

string_out = string_out.replaceAll("&", "&"); 

Я ударил камнем преткновения, заменяющий «раздел символ», то есть эта маленькая закорючка: §

Для начала, я делаю мое редактирование в VI, так что я могу даже не вставляйте символ там, он не является членом стандартного или расширенного ascii. По той же причине я не вижу указания в шестнадцатеричном коде в регулярном выражении.

Как бы вы указали этот символ для замены регулярных выражений? Или, если вы просто хотите зайти и сказать мне, что уже есть функция, спрятанная где-то, чтобы сделать преобразование символов, которое я делаю вручную, это тоже классно.

ответ

4
Unicode: § 
Hex:  0xA7 
html: § 
name: section sign 

Вы можете найти его в latin-1 supplement.

+0

Это было похоже на мою линию мышления, но я немного боролся с java, чтобы заставить его работать. Оказалось, что это будет строка кода, который сделал это: 'string_out = string_out.replaceAll («\\ xA7»,«§»);' Два уловы здесь было то, что обратный слеш должен быть в два раза, чтобы сделать действительный код эвакуации, а Java все равно не понравилось до тех пор, пока значение A не было капитализировано. – baudot

0

Возможно, вы просто используете код кодировки unicode?