Java в C# не может перевести код (Matcher.group() и Matcher.replaceFirst) ⇐ C#
Java в C# не может перевести код (Matcher.group() и Matcher.replaceFirst)
Я пытаюсь перевести фрагмент кода с 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("");
Я пытаюсь перевести фрагмент кода с 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("");
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Извлеките строковый компонент в хранение в виде ключа хэш -карты в функции, Matcher Matcher?
Anonymous » » в форуме JAVA - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Matcher Matcher regex regex для идентификации необычных персонажей и азиатских идеографий
Anonymous » » в форуме JAVA - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-