题目
描述:
将所有元音替换为句子中的感叹号。aeiouAEIOU是元音。
例子
replace("Hi!") === "H!!"
replace("!Hi! Hi!") === "!H!! H!!"
replace("aeiou") === "!!!!!"
replace("ABCDE") === "!BCD!"
测试用例:
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;
public class SampleTest {
@Test
public void basicTests() {
assertEquals("H!!", Solution.replace("Hi!"));
assertEquals("!H!! H!!", Solution.replace("!Hi! Hi!"));
assertEquals("!!!!!", Solution.replace("aeiou"));
assertEquals("!BCD!", Solution.replace("ABCDE"));
}
}
解题
我的:
非正则莫属。
public class Solution {
public static String replace(final String s) {
return s.replaceAll("[aeiouAEIOU]","!");
}
}
别人的:
public class Solution {
public static String replace(final String s) {
return s.replaceAll("(?i)[aeiou]", "!");
}
}
(?i)忽略大小写。
后记
正则似乎还有我不知道知识点。
网友评论