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

时间:2015-05-03 07:15:45

标签: java android regex

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

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

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

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

修改: 典型传入请求的示例: Post http://example.com\r\nHost: example.com\r\nConnection: close\r\n

另一个传入请求可能采用以下形式: GET http://example2.net\r\nContent-Length: 2\r\nConnection: close\r\nHost: example2.net\r\n

我想将其替换为此表单 Post http://example.com\r\nHost: mycustomhostvalue.com\r\nConnection: close\r\n

GET http://example2.net\r\nContent-Length: 2\r\nConnection: close\r\nHost: mycustomhostvalue.com\r\n

1 个答案:

答案 0 :(得分:1)

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

Name

这会将MyClassMyClass之后的所有内容替换为

注意:根据cfqueryparam的评论,您可能希望使用这样的正则表达式来涵盖content = content.replaceAll("Host:\\s*(\\w)*\\.\\w*", "Host: newhost.com") 等等:

Host: