Используйте регулярное выражение:
var sourceString='a|"bc!@£de^&$f g';
console.log("Before: " + sourceString);
sourceString = sourceString.replace(/[^a-zA-Z0-9 ]/g, "");
console.log("After: " + sourceString);
По существу удаляет все, кроме алфавита и цифр (и пробелов). [ 116]
Это - путь меньше, чем идеал, и я надеюсь, что у кого-то есть лучшее решение, но это работает:
Создайте простое приложение с помощью dom4j:
public static void main( final String[] args ) throws Exception {
String text = FileUtils.readFileToString( new File( args[ 0 ] ) );
OutputFormat format = OutputFormat.createPrettyPrint();
format.setTrimText( false );
XMLWriter writer = new XMLWriter( System.out, format );
writer.write( DocumentHelper.parseText( text ) );
}
Создайте выполнимую банку, (дополнительно) сценарий пакетной обработки, и добавьте как внешний инструмент. Конечно, Вы могли попробовать XMLTidy или некоторую другую командную строку средство форматирования XML, но у меня были лучшие результаты с dom4j.
Мне нравится Блокнот ++ с плагином Инструментов XML. Это делает XSLT, имеет средство анализа выражения XPath и делает проверка схемы и DTD. Ссылки на загрузку набора инструментальных средств:
Я использовал XMLBuddy в прошлом http://www.xmlbuddy.com/
прежде чем я вернулся в OxygenXML, но необходимо заплатить за Кислород.
Я не вижу ни одной из тех проблем, когда я форматирую (CTRL+SHIFT+F
) в XML-редакторе с WTP
Таким образом, WTP должен решить Ваши проблемы.
(источник: springframework.org)
Я признаю ошибку: пробелы и вышли из символов, действительно проблема с "XML-редактором и Инструментами" плагин (3.0.2 или 3.0.3) от WTP.
Однако <foo> text </foo>
не будет свернутый как <foo>text</foo>
.
Но
<foo> text text2 text3 </foo>
будет отформатирован как
<foo> text text2 text3 </foo>
(пробелы в конце сохраняются, любопытно),
И любая завершенная последовательность символов действительно останавливает форматирование (каждый строки, пока тот включая завершенный символ не отформатирован),
Я буду выглядеть глубже в этой проблеме и поворачивать этот ответ как общественный.