Мне нужно заменить все слова в тексте, применив метод замещения Modify()
. У меня есть следующий фрагмент кода в C#:Пользовательская функция замены Regex в Java
Regex regex = new Regex("[A-Za-z][a-z]*");
regex.Replace(text, x => Modify(x.Value));
Modify()
функция некоторая функция, которая выполняется для изменения каждый матч, например, он может заменить все символы в слове со следующей буквы алфавита. Например, если это текст ввода:
Magic banana ест яблоко.
Это может быть выход:
Nbhjd cbobob JT fbujoh ПИФ bqqmf.
Назначение функции Modify() здесь не имеет значения. Мне интересно о реализации Java MatchEvaluator. Код довольно прост в C#, но как это будет достигнуто в Java?
Что 'x' ссылку на здесь? – hwnd
Это матч за слово. Выражение лямбда на самом деле является оценщиком совпадений (http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.matchevaluator(v=vs.110).aspx). –
Вы можете использовать что-то вроде 'public static String modify (String text) {return text.replaceAll (" [A-Za-z] [a-z] * "," ");}' – iNan