{
  "slug": "find-replace",
  "name": "gizza-ai/find-replace",
  "version": "0.1.0",
  "title": "Find and Replace Text Online — gizza.ai",
  "description": "Find and replace text with literal or regex matching, case-sensitive or not, all matches or just the first. Runs in your browser, nothing is uploaded, free.",
  "tags": [
    "find and replace",
    "search replace",
    "regex replace",
    "text replace",
    "bulk replace"
  ],
  "category": "text",
  "urls": {
    "page": "https://gizza.ai/tools/find-replace/",
    "markdown": "https://gizza.ai/tools/find-replace/index.md",
    "descriptor": "https://gizza.ai/tools/find-replace/tool.json",
    "deep_link_example": "https://gizza.ai/tools/find-replace/?text=Paste%20the%20text%20to%20search%E2%80%A6&find=text%20or%20regex%20to%20find&replace=replacement%20%28blank%20%3D%20delete%20matches%29&regex=true&case_sensitive=true&global=true"
  },
  "cli": "gizza tool find-replace \"Paste the text to search…\" 'find=text or regex to find'",
  "tool": {
    "description": "Find and replace text. By default `find` is matched literally; set regex=true to use a regular expression (with $1/${name} capture references in `replace`). case_sensitive (default true) and global (default true; false = first match only) control matching. Returns the new text and the number of replacements.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "case_sensitive": {
          "default": true,
          "description": "Match case-sensitively. Default true.",
          "type": "boolean"
        },
        "find": {
          "description": "The text or regular expression to find.",
          "type": "string"
        },
        "global": {
          "default": true,
          "description": "Replace every match. When false, only the first match is replaced. Default true.",
          "type": "boolean"
        },
        "regex": {
          "default": false,
          "description": "Treat `find` as a regular expression. Default false (literal match).",
          "type": "boolean"
        },
        "replace": {
          "default": "",
          "description": "Replacement text. In regex mode, $1/${name} insert capture groups; in literal mode it is inserted verbatim. Default empty (deletes matches).",
          "type": "string"
        },
        "text": {
          "description": "The text to search within.",
          "type": "string"
        }
      },
      "required": [
        "text",
        "find"
      ],
      "type": "object"
    }
  }
}