{
  "_id": "6a1021b3acfb0bcc41c8c3d1",
  "Package": "stringtools",
  "Type": "Package",
  "Title": "Tools for working with strings in R",
  "Version": "0.02",
  "Date": "2020-05-03",
  "Author": "Sebastian Kranz",
  "Maintainer": "Sebastian Kranz <sebastian.kranz@uni-ulm.de>",
  "Description": "Tools for working with strings in R",
  "License": "GPL >= 2.0",
  "Config/pak/sysreqs": "libicu-dev",
  "Repository": "https://skranz.r-universe.dev",
  "Date/Publication": "2022-05-04 20:28:27 UTC",
  "RemoteUrl": "https://github.com/skranz/stringtools",
  "RemoteRef": "master",
  "RemoteSha": "8a37e75f057c7af3a0b115bd1e82ae66c91a0579",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-14 05:27:16 UTC",
    "User": "root"
  },
  "MD5sum": "18494bdd6f50bbf298c272be03dea238",
  "_user": "skranz",
  "_type": "src",
  "_file": "stringtools_0.02.tar.gz",
  "_fileid": "5956aa809121a81788821a63249640d9b9855a0212817ddee9753f36ba2cf33e",
  "_filesize": 166442,
  "_sha256": "5956aa809121a81788821a63249640d9b9855a0212817ddee9753f36ba2cf33e",
  "_created": "2026-05-14T05:27:16.000Z",
  "_published": "2026-05-22T09:28:19.027Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77352762843,
      "time": 114,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "6987810245"
    },
    {
      "job": 77352762845,
      "time": 106,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "6987810264"
    },
    {
      "job": 77352763318,
      "time": 90,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "6987852733"
    },
    {
      "job": 77352762995,
      "time": 78,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "6987874886"
    },
    {
      "job": 77352762943,
      "time": 156,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6987788044"
    },
    {
      "job": 77352762431,
      "time": 97,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7157263315"
    },
    {
      "job": 77352763265,
      "time": 109,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "6987810186"
    },
    {
      "job": 77352763292,
      "time": 60,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "6987799911"
    },
    {
      "job": 77352762884,
      "time": 80,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "6987803725"
    }
  ],
  "_buildurl": "https://github.com/r-universe/skranz/actions/runs/25843427514",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/skranz/stringtools",
  "_commit": {
    "id": "8a37e75f057c7af3a0b115bd1e82ae66c91a0579",
    "author": "Sebastian Kranz <sebkranz@gmail.com>",
    "committer": "Sebastian Kranz <sebkranz@gmail.com>",
    "message": "Update stringtools.R\n",
    "time": 1651696107
  },
  "_maintainer": {
    "name": "Sebastian Kranz",
    "email": "sebastian.kranz@uni-ulm.de",
    "login": "skranz",
    "bluesky": "@sebkranz.bsky.social",
    "uuid": 1413022
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "stringr",
      "role": "Depends"
    },
    {
      "package": "data.table",
      "role": "Suggests"
    }
  ],
  "_owner": "skranz",
  "_selfowned": true,
  "_usedby": 34,
  "_updates": [],
  "_tags": [],
  "_stars": 2,
  "_contributors": [
    {
      "user": "skranz",
      "count": 22,
      "uuid": 1413022
    }
  ],
  "_userbio": {
    "uuid": 1413022,
    "type": "user",
    "name": "Sebastian Kranz"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/stringtools"
  },
  "_devurl": "https://github.com/skranz/stringtools",
  "_searchresults": 31,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/stringtools.html",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "char.matrix.to.str",
    "char.vector.to.str",
    "combine.pos.and",
    "combine.pos.list.and",
    "cumsum.ignore",
    "get.ignore",
    "has.substr",
    "ignore.and.complement.pos",
    "ignore.to.pos",
    "merge.lines",
    "pos.complement",
    "pos.to.ignore",
    "pos.with.complement",
    "regexp.fixed",
    "sep.lines",
    "str.at.pos",
    "str.between",
    "str.blocks.pos",
    "str.detect",
    "str.ends.with",
    "str.extract.all",
    "str.extract.first",
    "str.find",
    "str.inpos",
    "str.left",
    "str.left.of",
    "str.len",
    "str.list.to.regexp.or",
    "str.locate.all",
    "str.locate.at.end",
    "str.locate.at.start",
    "str.locate.first",
    "str.matches.pattern",
    "str.remove.ends",
    "str.remove.ignore",
    "str.replace",
    "str.replace.at.pos",
    "str.replace.by.blocks",
    "str.replace.list",
    "str.right",
    "str.right.of",
    "str.space",
    "str.split",
    "str.split.at.pos",
    "str.starts.with",
    "str.tokenize",
    "str.trim",
    "to.char.matrix",
    "to.char.vector"
  ],
  "_help": [
    {
      "page": "adapt.blocks.after.replace",
      "title": "Helper function",
      "topics": [
        "adapt.blocks.after.replace"
      ]
    },
    {
      "page": "adapt.pos.after.replace",
      "title": "Helper function",
      "topics": [
        "adapt.pos.after.replace"
      ]
    },
    {
      "page": "blocks.add.level.0",
      "title": "Add level 0 to blocks",
      "topics": [
        "blocks.add.level.0"
      ]
    },
    {
      "page": "char.matrix.to.str",
      "title": "converts a matrix of of single chars in a vector of one string per row",
      "topics": [
        "char.matrix.to.str"
      ]
    },
    {
      "page": "char.vector.to.str",
      "title": "converts a vector of chars into a single string or multiple strings, broken by sep",
      "topics": [
        "char.vector.to.str"
      ]
    },
    {
      "page": "check.str.par",
      "title": "Check if parameter to a str function have allowed dimensions",
      "topics": [
        "check.str.par"
      ]
    },
    {
      "page": "combine.pos.and",
      "title": "Combine two positions via logical AND",
      "topics": [
        "combine.pos.and"
      ]
    },
    {
      "page": "combine.pos.list.and",
      "title": "Combine a list of positions via logical AND",
      "topics": [
        "combine.pos.list.and"
      ]
    },
    {
      "page": "cumsum.ignore",
      "title": "Cummulative sum of number of characters that are ignored",
      "topics": [
        "cumsum.ignore"
      ]
    },
    {
      "page": "get.ignore",
      "title": "Gets a logical ignore vector or list from pos matrices",
      "topics": [
        "get.ignore"
      ]
    },
    {
      "page": "has.substr",
      "title": "Returns for every element of str whether there is a match with pattern works similar than grepl",
      "topics": [
        "has.substr"
      ]
    },
    {
      "page": "ignore.and.complement.pos",
      "title": "Transforms a boolean vector ignore to a pos matrix and its complement",
      "topics": [
        "ignore.and.complement.pos"
      ]
    },
    {
      "page": "ignore.to.pos",
      "title": "Transforms a boolean vector ignore to a pos matrix",
      "topics": [
        "ignore.to.pos"
      ]
    },
    {
      "page": "merge.lines",
      "title": "Combines c(\"A\",\"B\") into a single string seperated by line breaks",
      "topics": [
        "merge.lines"
      ]
    },
    {
      "page": "pos.complement",
      "title": "Returns the complement of a pos matrix again as a pos matrix",
      "topics": [
        "pos.complement"
      ]
    },
    {
      "page": "pos.to.ignore",
      "title": "Transforms a pos matrix into a logical ignore vector Warning length is not",
      "topics": [
        "pos.to.ignore"
      ]
    },
    {
      "page": "pos.with.complement",
      "title": "Returns a pos matrix combined with its complement. The matrix has an attribute \"complement\" which is a logical vector indicating whether a row in the matrix is the original matrix or a complement",
      "topics": [
        "pos.with.complement"
      ]
    },
    {
      "page": "regexp.fixed",
      "title": "strings will be treated as fixed constant in regex",
      "topics": [
        "regexp.fixed"
      ]
    },
    {
      "page": "replace.german.umlaute",
      "title": "replaces German Umlaute with ascii letters oe, ue, ae",
      "topics": [
        "replace.german.umlaute"
      ]
    },
    {
      "page": "sep.lines",
      "title": "transforms a single string with line breaks into a vector with one element for each line",
      "topics": [
        "sep.lines"
      ]
    },
    {
      "page": "str.at.pos",
      "title": "pos is a matrix or a list of matrices specifying positions as returned by str.locate.all",
      "topics": [
        "str.at.pos"
      ]
    },
    {
      "page": "str.between",
      "title": "Returns the between the first occurence of start and the first occurence of end",
      "topics": [
        "str.between"
      ]
    },
    {
      "page": "str.blocks.pos",
      "title": "Returns a pos matrix indicating blocks like brackets ( ) or quoted parts \"text\"",
      "topics": [
        "str.blocks.pos"
      ]
    },
    {
      "page": "str.detect",
      "title": "Just a synonym for has.substr",
      "topics": [
        "str.detect"
      ]
    },
    {
      "page": "str.ends.with",
      "title": "Returns als elements of txt that end with pattern",
      "topics": [
        "str.ends.with"
      ]
    },
    {
      "page": "str.extract.all",
      "title": "Returns a list that contains for each element of str (or pattern) a vector of all substrings that match the pattern. If for a string no element is matched an empty list is returned",
      "topics": [
        "str.extract.all"
      ]
    },
    {
      "page": "str.extract.first",
      "title": "Returns a vector that contains for each element of str (or pattern) the first substring that matches pattern or NA if no match could be found",
      "topics": [
        "str.extract.first"
      ]
    },
    {
      "page": "str.find",
      "title": "Find substring positions or matches",
      "topics": [
        "str.find"
      ]
    },
    {
      "page": "str.inpos",
      "title": "Returns a logical vector with TRUE for every character of str that is in pos",
      "topics": [
        "str.inpos"
      ]
    },
    {
      "page": "str.left",
      "title": "keeps characters on left",
      "topics": [
        "str.left"
      ]
    },
    {
      "page": "str.left.of",
      "title": "Returns the substring left to the first occurence of pattern",
      "topics": [
        "str.left.of"
      ]
    },
    {
      "page": "str.len",
      "title": "a synonym for nchar",
      "topics": [
        "str.len"
      ]
    },
    {
      "page": "str.list.to.regexp.or",
      "title": "Transforms a vector of strings like c(\"A\",\"B\",\"C\") into \"A|B|C\"",
      "topics": [
        "str.list.to.regexp.or"
      ]
    },
    {
      "page": "str.locate.all",
      "title": "Finds start and end positions of all substrings that match pattern",
      "topics": [
        "str.locate.all"
      ]
    },
    {
      "page": "str.locate.at.end",
      "title": "Locate a pattern at the end of str",
      "topics": [
        "str.locate.at.end"
      ]
    },
    {
      "page": "str.locate.at.start",
      "title": "Locate a pattern at the start of strings",
      "topics": [
        "str.locate.at.start"
      ]
    },
    {
      "page": "str.locate.first",
      "title": "Finds start and end positions of first substring that matches pattern",
      "topics": [
        "str.locate.first"
      ]
    },
    {
      "page": "str.matches.pattern",
      "title": "Check if str completely matches a pattern (not just a substring)",
      "topics": [
        "str.matches.pattern"
      ]
    },
    {
      "page": "str.number.matches",
      "title": "Returns the number of matches of pattern in each element of str",
      "topics": [
        "str.number.matches"
      ]
    },
    {
      "page": "str.remove.ends",
      "title": "remove charcaters on left and right of a string str.remove.ends(c(\"ABCDEF\",\"01\"),1,3) returns c(\"BC\",\"\")",
      "topics": [
        "str.remove.ends"
      ]
    },
    {
      "page": "str.remove.ignore",
      "title": "ignore is a logical vector or matrix stating which char positions shall be ignored the function removes the substrings for which ignore=TRUE",
      "topics": [
        "str.remove.ignore"
      ]
    },
    {
      "page": "str.replace",
      "title": "Replaces in str every occurence of pattern by replacement",
      "topics": [
        "str.replace"
      ]
    },
    {
      "page": "str.replace.at.pos",
      "title": "replace a string at the positions specified by pos",
      "topics": [
        "str.replace.at.pos"
      ]
    },
    {
      "page": "str.replace.by.blocks",
      "title": "Replaces in str every occurence of pattern by replacement",
      "topics": [
        "str.replace.by.blocks"
      ]
    },
    {
      "page": "str.replace.list",
      "title": "Performs sequentially all replacements of pattern and replace on the same strings str",
      "topics": [
        "str.replace.list"
      ]
    },
    {
      "page": "str.right",
      "title": "keeps characters on right",
      "topics": [
        "str.right"
      ]
    },
    {
      "page": "str.right.of",
      "title": "Returns the substring right to the first occurence of pattern",
      "topics": [
        "str.right.of"
      ]
    },
    {
      "page": "str.space",
      "title": "Returns a string constisting of times spaces, vectorized over times",
      "topics": [
        "str.space"
      ]
    },
    {
      "page": "str.split",
      "title": "Splits string vectors",
      "topics": [
        "str.split"
      ]
    },
    {
      "page": "str.split.at.pos",
      "title": "Splits a single string str at positions specified by pos",
      "topics": [
        "str.split.at.pos"
      ]
    },
    {
      "page": "str.starts.with",
      "title": "Returns als elements of txt that begin with pattern",
      "topics": [
        "str.starts.with"
      ]
    },
    {
      "page": "str.tokenize",
      "title": "An alternative interface to str.split",
      "topics": [
        "str.tokenize"
      ]
    },
    {
      "page": "str.trim",
      "title": "trims whitespaces from string",
      "topics": [
        "str.trim"
      ]
    },
    {
      "page": "to.char.matrix",
      "title": "converts into a vector of strings into a matrix of single characters",
      "topics": [
        "to.char.matrix"
      ]
    },
    {
      "page": "to.char.vector",
      "title": "converts a string into a vector of single characters",
      "topics": [
        "to.char.vector"
      ]
    }
  ],
  "_rundeps": [
    "cli",
    "glue",
    "lifecycle",
    "magrittr",
    "rlang",
    "stringi",
    "stringr",
    "vctrs"
  ],
  "_score": 3.8009918612601714,
  "_indexed": true,
  "_nocasepkg": "stringtools",
  "_universes": [
    "skranz"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.02",
      "date": "2026-05-14T05:29:09.000Z",
      "distro": "noble",
      "commit": "8a37e75f057c7af3a0b115bd1e82ae66c91a0579",
      "fileid": "c5f981ad3a67b160000825776854742d2271cb45a300398a95e28e5f8cb12a62",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/25843427514"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.02",
      "date": "2026-05-14T05:29:11.000Z",
      "distro": "noble",
      "commit": "8a37e75f057c7af3a0b115bd1e82ae66c91a0579",
      "fileid": "3af74632f90033269bd74ea418ef28a032189e82a18f2df07cede91f8d6e6158",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/25843427514"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.02",
      "date": "2026-05-14T05:32:51.000Z",
      "commit": "8a37e75f057c7af3a0b115bd1e82ae66c91a0579",
      "fileid": "ec30958e9ab02f5e639f70d303be655d27ca08f76f96d417a5fc3536f2a37c78",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/25843427514"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.02",
      "date": "2026-05-14T05:34:46.000Z",
      "commit": "8a37e75f057c7af3a0b115bd1e82ae66c91a0579",
      "fileid": "b09875120b1a5a86726b914464b65aded6e18f16aeb61096d8f03cc17dac9521",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/25843427514"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.02",
      "date": "2026-05-14T05:29:04.000Z",
      "commit": "8a37e75f057c7af3a0b115bd1e82ae66c91a0579",
      "fileid": "4c1703e4f9c828d9e17345b7dd470a4dafd667ba19e513f3ab661d044fe9a741",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/25843427514"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.02",
      "date": "2026-05-14T05:28:12.000Z",
      "commit": "8a37e75f057c7af3a0b115bd1e82ae66c91a0579",
      "fileid": "69256d1e850dff73ef06ea4816d3ed123784ad0ddb8c8af39a8e9b03baf99495",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/25843427514"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.02",
      "date": "2026-05-14T05:28:29.000Z",
      "commit": "8a37e75f057c7af3a0b115bd1e82ae66c91a0579",
      "fileid": "539250504703cf04b5b51208fae6d6e78359b82f936a4f27933293dd35d2c4b9",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/25843427514"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.02",
      "date": "2026-05-22T09:27:58.000Z",
      "commit": "8a37e75f057c7af3a0b115bd1e82ae66c91a0579",
      "fileid": "5541afedfe0388d8d5bdbbb48eafe8d47fc56f6deb5b1ecdf7889d38442fa9d5",
      "status": "success",
      "buildurl": "https://github.com/r-universe/skranz/actions/runs/25843427514"
    }
  ]
}