我正在寻找字符串中的“tip”和“top”等模式 - 长度为3,以“t”开头,以“p”结尾。目标是返回一个字符串,对于所有这些单词,中间字母不见了。例如,“tipXtap”产生“tpXtp”。
到目前为止,我已经考虑过使用递归和replace()方法,但我不确定这是否是解决此问题的最佳方法。
到目前为止,这是我的代码:
VCorpus
答案 0 :(得分:2)
使用此Java代码:
String str = "tipXtap";
str = str.replaceAll("t.p", "tp");
这使用regular expressions和String.replaceAll功能。 .
(点)字符为regex metacharacter that matches any single character。
答案 1 :(得分:1)
这样做的一种方法。
将String转换为char数组。
使用条件来验证第一个字母的第一个和第三个字母。首先看一下String的char是否为T然后检查char两个字符是否为' p'。你必须在遍历char数组的循环中执行此操作。
如果验证条件为true,则删除中间元素。您必须在char数组中移动元素。
将char数组转换为String并返回它。
希望这有帮助。
答案 2 :(得分:-1)
这是使用正则表达式解决此问题的JavaScript解决方案:
foo = 'tipXtop'
foo.replace(/t\wp/g, 'tp')
\w
正则表达式运算符匹配单词字符,如a-z,A-Z,0-9或_。
g
正则表达式标志将匹配字符串中正则表达式的所有实例。