我有一个String变量:
String str = " abc boy abc funny os abc abcifff abc abc boy abc";
我想将“abc”替换为“the”,这会导致:
the boy the funny os the abcifff the the boy the
如何在不使用replace
或replaceAll
的情况下执行此操作?
答案 0 :(得分:3)
这听起来像是家庭作业或类似问题,所以我会给你一些提示。
(1)查看Java StringTokenizer类
(2)考虑如何在类似(伪代码)的循环中使用它:
while there are substrings left to process
get the next substring in s
if that is "abc"
append "the" to the result
else
append s to the result
不要忘记处理单词之间的空格。
答案 1 :(得分:0)
规则需要创造性的解释!使用Pattern类!
Pattern.compile("abc").matcher(yourString).replaceAll("the")
答案 2 :(得分:0)
根据评论,replaceAll
的禁令是由于误解造成的,请试试这个:
System.out.println(" abc boy abc funny os abc abcifff abc abc boy abc".replaceAll(
"( ?)abc( +|$)", "$1the$2"));
输出:
有趣的男孩是男孩的abcifff