Java в C# не может перевести код (Matcher.group() и Matcher.replaceFirst)C#

Место общения программистов C#
Ответить
Anonymous
 Java в C# не может перевести код (Matcher.group() и Matcher.replaceFirst)

Сообщение Anonymous »


Я пытаюсь перевести фрагмент кода с Java на C#, но не могу найти, как это сделать правильно. Мне нужно перевести вот этот фрагмент: (getPattern возвращает шаблон, а данные — это тип, который имеет переменную шаблона и перечисление (TokenType))

Сопоставление совпадений = data.getPattern().matcher(str);//ThisLine if (matcher.find())//ThisLine { Строковый токен = matcher.group().trim();//Эта строка str = matcher.replaceFirst(""); //Эта строка если (data.getType() == TokenType.String_Literal) { return (lastToken = новый токен(token.Substring(1, token.Length - 1), TokenType.String_Literal)); } еще { return (lastToken = новый токен(токен, data.getType())); } } Я попробовал это перевести и получил вот это:

Сопоставитель совпадений = data.getRegex().Match(str); если (сопоставитель.Успех) { Строковый токен = matcher.Value.Trim(); str = data.getRegex().Replace(token, "", 1); если (data.getType() == TokenType.String_Literal) { return (lastToken = новый токен(token.Substring(1, token.Length - 1), TokenType.String_Literal)); } еще { return (lastToken = новый токен(токен, data.getType())); } } Я не на 100% разбираюсь в коде, но все части кажутся правильной заменой, кажется, они делают то же самое (когда я читаю о них). Они не выдают никаких ошибок, но проблема в том, что код С# ведет себя не так, как код Java.

Изменить: я просто не могу найти эквивалент этих строк кода на C#.
Сопоставитель = A_Pattern.matcher(A_String) matcher = matcher.group().trim(); логическое значение A_bool = matcher.find String Another_String = matcher.replaceFirst("");
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»