不使用replace或replaceAll替换字符串内容

发布于 2024-11-02 12:49:42 字数 288 浏览 0 评论 0原文

我有一个字符串变量:

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

如何在不使用 replacereplaceAll 的情况下执行此操作?

I have a String variable:

String str = " abc boy abc funny os abc abcifff abc abc boy abc";

I want to replace "abc" as "the", which would result in:

the boy the funny os the abcifff the the boy the

How can I do this without using replace or replaceAll?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟凡古楼 2024-11-09 12:49:42

这听起来像是一个家庭作业问题或类似的问题,所以我会给你一些提示。

(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

不要忘记处理单词之间的空格。

This sounds like a homework problem or similar, so I'll give you some hints.

(1) Look at the Java StringTokenizer class

(2) think how to use that in a loop that works like (pseudocode):

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

Don't forget to handle spaces between the words.

饭团 2024-11-09 12:49:42

规则需要创造性的诠释!使用模式类!

Pattern.compile("abc").matcher(yourString).replaceAll("the")

Rules need creative interpretation! Use the Pattern class!

Pattern.compile("abc").matcher(yourString).replaceAll("the")
风蛊 2024-11-09 12:49:42

由于根据注释,禁止 replaceAll 是由于误解,因此尝试以下操作:

System.out.println(" abc boy abc funny os abc abcifff abc abc boy abc".replaceAll(
            "( ?)abc( +|$)", "$1the$2"));

输出:

有趣的男孩 os abcifff 男孩

Since, according to the comments, the prohibition on replaceAll is due to misunderstanding, try this:

System.out.println(" abc boy abc funny os abc abcifff abc abc boy abc".replaceAll(
            "( ?)abc( +|$)", "$1the$2"));

Output:

the boy the funny os the abcifff the the boy the

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文