You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gatling中如何使用.replace函数移除字符串中的<br>标签

在Gatling中移除字符串里的
标签的具体实现方法

我来给你梳理几种在Gatling里实现字符串清理、移除所有<br>相关标签的实用方案,都是可以直接复用的示例:

1. 从响应中提取内容并即时清理

如果你的目标字符串是从HTTP响应里获取的,可以直接在check阶段用transform完成清理,一步到位:

.exec(http("Fetch content with <br> tags")
  .get("/your-target-api")
  // 提取响应体并直接清理,然后存入Session
  .check(bodyString.transform(rawContent => 
    rawContent.replaceAll("<br\\s*/?>", "")
  ).saveAs("cleanedContent")))

这里用正则<br\\s*/?>是为了匹配所有常见的<br>标签写法:<br>、<br/>、<br />,比单一的replace("<br/>", "")覆盖范围更全。

2. 先存原始内容,再单独处理

如果需要保留原始内容,或者要做更复杂的清理逻辑,可以先把原始字符串存入Session,再用exec处理:

// 第一步:获取原始内容并存入Session
.exec(http("Get raw content")
  .get("/your-endpoint")
  .check(bodyString.saveAs("rawContent")))

// 第二步:从Session取出原始内容,清理后存回
.exec(session => {
  // 从Session中提取原始字符串
  val raw = session("rawContent").as[String]
  // 执行清理逻辑
  val cleaned = raw.replaceAll("<br\\s*/?>", "")
  // 将清理后的内容存入Session,方便后续步骤使用
  session.set("cleanedContent", cleaned)
})

// 可选:验证清理结果(调试用)
.exec(session => {
  println("清理后的内容:" + session("cleanedContent").as[String])
  session
})

3. 处理局部定义的字符串

如果是你自己定义的局部字符串(不是来自响应),同样可以在exec里完成清理并存入Session:

// 定义原始字符串
val originalStr = "这是一段带<br>标签的文本<br/>,还有<br />这种写法"

.exec(session => {
  val cleanedStr = originalStr.replaceAll("<br\\s*/?>", "")
  session.set("cleanedLocalStr", cleanedStr)
})

关键说明:

  • Gatling基于Scala,所以可以直接用Scala的字符串方法,replaceAll支持正则,比replace更适合处理多种变体的标签;
  • 所有涉及Session变量的操作都要放在exec块里,因为Gatling的会话流转是通过exec来控制的;
  • 如果只是简单的替换,check的transform是最简洁的方式;如果需要复杂逻辑(比如多步处理、条件判断),就用exec里的Session处理函数。

内容的提问来源于stack exchange,提问作者Magnus Jensen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 07:03:45