Класс UpperCaseConverter преобразует входной текст в верхний регистр текста, исключая слова согласованный с Regex "(? Я)^((?! SHT).) *".Java RegEx строка за исключением определенного слова
То, что я ожидал получить это 1A0A-50-CRD-140-20002-063484C-N-01_Sht_1A.pdf но результат 1A0A-50-CRD-140-20002-063484C-N-01_Sht_1a .pdf.
Как мог последняя часть письма в верхнем регистре для .pdf
кроме UpperCaseConverter
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class UpperCaseConverter {
private UpperCaseConverter(){};
public static String convert(String text, String regEx) {
StringBuilder toBeConverted = new StringBuilder(text);
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(toBeConverted);
while(matcher.find()) {
String buf = toBeConverted.substring(matcher.start(), matcher.end()).toUpperCase();
toBeConverted.replace(matcher.start(), matcher.end(), buf);
}
return toBeConverted.toString();
}
}
* TestCase
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class UpperCaseConverterTest {
@Test
public void testUpperCase() {
String expect = UpperCaseConverter.convert("1a0A-50-CRD-140-20002-063484C-N-01_Sht_1a.pdf",
"(?i)^((?!sht).)*");
assertEquals("1A0A-50-CRD-140-20002-063484C-N-01_Sht_1A.pdf", expect);
}
}
Что такое 'UpperCaseConverter'? – arshajii
Не указывая нам никакого кода, вам нечего делать, но угадать. Вы пытались снова отключить его? –
это класс, который я сделал для преобразования текста в нижнем регистре в верхний регистр, исключая слово, соответствующее предоставленному RegEx. –