gpt4 book ai didi

java - 使用正则表达式查找字符串中的字符并替换

转载 作者:行者123 更新时间:2023-12-01 11:35:47 24 4
gpt4 key购买 nike

当从基于网络的应用程序中的传入请求返回字符串值时,我有一个像这样的字符串'发布http://a.com\r\n主机:a.com\r\n'

问题是主机总是在变化,所以我需要用我定义的主机替换它。为了实现这一目标,我尝试使用正则表达式,但一直试图在字符串中查找 'host:a.com' 字符并将其替换为定义的值。

我尝试使用这个例子www.javamex.com/tutorials/regular_expressions/search_replace_loop.shtml#.VUWvt541jqB将模式编译更改为 :([\\d]+) 但它仍然保持不变。

我的目标是用定义的值替换字符串中的给定字符,并返回带有定义值的新字符串。有什么指点吗?

编辑:典型传入请求的示例:发布 http://example.com\r\n主机:example.com\r\n连接:关闭\r\n

另一个传入请求可能采用以下形式:GET http://example2.net\r\n内容长度:2\r\n连接:关闭\r\n主机:example2.net\r\n

我想将其替换为这种形式发布 http://example.com\r\n主机:mycustomhostvalue.com\r\n连接:关闭\r\n

GET http://example2.net\r\n内容长度:2\r\n连接:关闭\r\n主机:mycustomhostvalue.com\r\n

最佳答案

使用正则表达式来替换它,如下所示:

content = content.replaceAll("Host:\\s*(\\w)*\\.\\w*", "Host: newhost.com")

这会将 Host: 之后的所有内容替换为 newHost.com

注意:根据 cfqueryparam 的评论,您可能需要使用这样的正则表达式来覆盖 .co.uk 等:

Host:\\s*.*?(?=\\\\r\\\\n)

关于java - 使用正则表达式查找字符串中的字符并替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30011228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com