Autre approche (chaque passage de test):
import static org.junit.Assert.*;
import org.junit.Test;
public class RemoveUnitSpec {
public static String removeUnit(String input) {
for (int i = 0; i < input.length(); i++) {
if(Character.isLetter(input.charAt(i))) {
return input.substring(0, i).trim();
}
}
return input;
}
@Test
public void itShouldDoNothingWhenNoUnit() {
String input = "3,52";
assertEquals("3,52", removeUnit(input));
}
@Test
public void itShouldRemoveUnit() {
String input = "12m";
assertEquals("12", removeUnit(input));
}
@Test
public void itShouldRemoveSquareMeter() {
String input = "12m2";
assertEquals("12", removeUnit(input));
}
@Test
public void itShouldRemoveUnitWithSpace() {
String input = "12 m";
assertEquals("12", removeUnit(input));
}
@Test
public void itShouldRemoveTextualUnitWithSpace() {
String input = "3,2 meters";
assertEquals("3,2", removeUnit(input));
}
}
Veuillez montrer des exemples pour toutes les mesures, et aussi montrer les données dans le texte qui vous prévoyez d'utiliser. –
https://www.regex101.com/r/1whTrz/1 semble fonctionner, mais sans quelques exemples, je ne connais pas l'objectif. – abc123
Voulez-vous ça? https://regex101.com/r/I7mVoS/1 –