{
  "_id": "6a2002bbb401979e73445f43",
  "Package": "textclean",
  "Title": "Text Cleaning Tools",
  "Version": "0.9.8",
  "Authors@R": "c( \nperson(\"Tyler\", \"Rinker\", email = \"tyler.rinker@gmail.com\", role = c(\"aut\", \"cre\")),\nperson(\"ctwheels\", \"StackOverflow\", role = \"ctb\"),\nperson(\"Surin\", \"Space\", role = \"ctb\")\n)",
  "Maintainer": "Tyler Rinker <tyler.rinker@gmail.com>",
  "Description": "Tools to clean and process text.  Tools are geared at\nchecking for substrings that are not optimal for analysis and\nreplacing or removing them (normalizing) with more analysis\nfriendly substrings (see Sproat, Black, Chen, Kumar, Ostendorf,\n& Richards (2001) <doi:10.1006/csla.2001.0169>) or extracting\nthem into new variables. For example, emoticons are often used\nin text but not always easily handled by analysis algorithms.\nThe replace_emoticon() function replaces emoticons with word\nequivalents.",
  "License": "GPL-2",
  "LazyData": "TRUE",
  "RoxygenNote": "7.3.3",
  "Encoding": "UTF-8",
  "URL": "https://github.com/trinker/textclean",
  "BugReports": "https://github.com/trinker/textclean/issues",
  "Collate": "'add_comma_space.R' 'add_missing_endmark.R' 'utils.R'\n'replace_html.R' 'check_text_logicals.R' 'check_text.R'\n'drop_element.R' 'drop_row.R' 'fgsub.R' 'fix_mdyyyy.R'\n'glue-reexports.R' 'has_endmark.R' 'like.R' 'make_plural.R'\n'match_tokens.R' 'mgsub.R' 'replace_contraction.R'\n'replace_date.R' 'replace_email.R' 'replace_emoji.R'\n'replace_emoticon.R' 'replace_grade.R' 'replace_hash.R'\n'replace_incomplete.R' 'replace_internet_slang.R'\n'replace_kerning.R' 'replace_misspelling.R' 'replace_money.R'\n'replace_names.R' 'replace_non_ascii.R' 'replace_number.R'\n'replace_ordinal.R' 'replace_rating.R' 'replace_symbol.R'\n'replace_tag.R' 'replace_time.R' 'replace_to.R'\n'replace_tokens.R' 'replace_url.R' 'replace_white.R'\n'replace_word_elongation.R' 'strip.R' 'sub_holder.R' 'swap.R'\n'textclean-package.R'",
  "Config/pak/sysreqs": "libicu-dev",
  "Repository": "https://trinker.r-universe.dev",
  "Date/Publication": "2026-03-05 04:56:58 UTC",
  "RemoteUrl": "https://github.com/trinker/textclean",
  "RemoteRef": "HEAD",
  "RemoteSha": "80a30ed4677900c976cc301b9c4f26069ca824fe",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-03 10:29:10 UTC",
    "User": "root"
  },
  "Author": "Tyler Rinker [aut, cre],\nctwheels StackOverflow [ctb],\nSurin Space [ctb]",
  "MD5sum": "831e7f436871c4ebf2b8de01e2e14594",
  "_user": "trinker",
  "_type": "src",
  "_file": "textclean_0.9.8.tar.gz",
  "_fileid": "e00639b134aa5e9ad4066c91ebe6e92b268d8f83c2756f1f2b760ecee3145b40",
  "_filesize": 2175065,
  "_sha256": "e00639b134aa5e9ad4066c91ebe6e92b268d8f83c2756f1f2b760ecee3145b40",
  "_created": "2026-06-03T10:29:10.000Z",
  "_published": "2026-06-03T10:32:26.983Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79273763484,
      "time": 131,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7382125481"
    },
    {
      "job": 79273763492,
      "time": 122,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7382121991"
    },
    {
      "job": 79273763522,
      "time": 154,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7382132756"
    },
    {
      "job": 79273763496,
      "time": 114,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7382119136"
    },
    {
      "job": 79273221036,
      "time": 199,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7382079762"
    },
    {
      "job": 79273763503,
      "time": 107,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7382116965"
    },
    {
      "job": 79273763481,
      "time": 86,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7382109906"
    },
    {
      "job": 79273763498,
      "time": 96,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7382113017"
    },
    {
      "job": 79273763528,
      "time": 98,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7382114406"
    }
  ],
  "_buildurl": "https://github.com/r-universe/trinker/actions/runs/26878807982",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/trinker/textclean",
  "_commit": {
    "id": "80a30ed4677900c976cc301b9c4f26069ca824fe",
    "author": "Tyler Rinker <tyler.rinker@kangarootime.com>",
    "committer": "Tyler Rinker <tyler.rinker@kangarootime.com>",
    "message": "Fixing a number of cran warnings and errors.\n",
    "time": 1772686618
  },
  "_maintainer": {
    "name": "Tyler Rinker",
    "email": "tyler.rinker@gmail.com",
    "login": "trinker",
    "description": "Director, Data Scientist, open-source developer , #python/#rstats enthusiast, #dataviz geek, and #nlp buff",
    "uuid": 1763278
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.4.0",
      "role": "Depends"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "english",
      "version": ">= 1.0-2",
      "role": "Imports"
    },
    {
      "package": "glue",
      "version": ">= 1.3.0",
      "role": "Imports"
    },
    {
      "package": "lexicon",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "mgsub",
      "version": ">= 1.5.0",
      "role": "Imports"
    },
    {
      "package": "qdapRegex",
      "role": "Imports"
    },
    {
      "package": "stringi",
      "role": "Imports"
    },
    {
      "package": "textshape",
      "version": ">= 1.0.1",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "hunspell",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    }
  ],
  "_owner": "trinker",
  "_selfowned": true,
  "_usedby": 28,
  "_updates": [
    {
      "week": "2026-10",
      "n": 5
    }
  ],
  "_tags": [],
  "_topics": [
    "data-munging",
    "emoticons",
    "regex",
    "text-analysis",
    "text-cleaning"
  ],
  "_stars": 258,
  "_contributors": [
    {
      "user": "trinker",
      "count": 177,
      "uuid": 1763278
    },
    {
      "user": "tylerrinker-dev",
      "count": 4,
      "uuid": 237491193
    },
    {
      "user": "foehammer-419",
      "count": 2,
      "uuid": 44418830
    },
    {
      "user": "eliocamp",
      "count": 1,
      "uuid": 8617595
    },
    {
      "user": "kguidonimartins",
      "count": 1,
      "uuid": 8163542
    },
    {
      "user": "tonyelhabr",
      "count": 1,
      "uuid": 15663460
    }
  ],
  "_userbio": {
    "uuid": 1763278,
    "type": "user",
    "name": "Tyler Rinker",
    "description": "Director, Data Scientist, open-source developer , #python/#rstats enthusiast, #dataviz geek, and #nlp buff"
  },
  "_downloads": {
    "count": 6542,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/textclean"
  },
  "_mentions": 1,
  "_devurl": "https://github.com/trinker/textclean",
  "_searchresults": 848,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/textclean.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/trinker/textclean",
  "_realowner": "trinker",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.2.0",
      "date": "2017-01-10"
    },
    {
      "version": "0.3.0",
      "date": "2017-01-25"
    },
    {
      "version": "0.3.1",
      "date": "2017-02-22"
    },
    {
      "version": "0.5.1",
      "date": "2017-12-12"
    },
    {
      "version": "0.6.3",
      "date": "2018-01-14"
    },
    {
      "version": "0.7.2",
      "date": "2018-04-19"
    },
    {
      "version": "0.7.3",
      "date": "2018-04-24"
    },
    {
      "version": "0.9.2",
      "date": "2018-06-09"
    },
    {
      "version": "0.9.3",
      "date": "2018-07-23"
    },
    {
      "version": "0.9.7",
      "date": "2026-03-05"
    }
  ],
  "_exports": [
    "%like%",
    "%LIKE%",
    "%slike%",
    "%SLIKE%",
    "add_comma_space",
    "add_missing_endmark",
    "as_ordinal",
    "available_checks",
    "check_text",
    "drop_element",
    "drop_element_fixed",
    "drop_element_regex",
    "drop_empty_row",
    "drop_NA",
    "drop_row",
    "fgsub",
    "fix_mdyyyy",
    "glue",
    "glue_collapse",
    "has_endmark",
    "is_it",
    "keep_element",
    "keep_element_fixed",
    "keep_element_regex",
    "keep_row",
    "make_plural",
    "match_tokens",
    "mgsub",
    "mgsub_fixed",
    "mgsub_regex",
    "mgsub_regex_safe",
    "replace_contraction",
    "replace_curly_quote",
    "replace_date",
    "replace_email",
    "replace_emoji",
    "replace_emoji_identifier",
    "replace_emoticon",
    "replace_from",
    "replace_grade",
    "replace_hash",
    "replace_html",
    "replace_incomplete",
    "replace_internet_slang",
    "replace_kern",
    "replace_misspelling",
    "replace_money",
    "replace_names",
    "replace_non_ascii",
    "replace_non_ascii2",
    "replace_number",
    "replace_ordinal",
    "replace_rating",
    "replace_symbol",
    "replace_tag",
    "replace_time",
    "replace_to",
    "replace_tokens",
    "replace_url",
    "replace_white",
    "replace_word_elongation",
    "strip",
    "sub_holder",
    "swap",
    "which_are"
  ],
  "_datasets": [
    {
      "name": "DATA",
      "title": "Fictitious Classroom Dialogue",
      "object": "DATA",
      "class": [
        "data.frame"
      ],
      "fields": [
        "person",
        "sex",
        "adult",
        "state",
        "code"
      ],
      "rows": 11,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "like",
      "title": "SQL Style LIKE",
      "topics": [
        "%LIKE%",
        "%like%",
        "%SLIKE%",
        "%slike%"
      ]
    },
    {
      "page": "add_comma_space",
      "title": "Ensure Space After Comma",
      "topics": [
        "add_comma_space"
      ]
    },
    {
      "page": "add_missing_endmark",
      "title": "Add Missing Endmarks",
      "topics": [
        "add_missing_endmark"
      ]
    },
    {
      "page": "check_text",
      "title": "Check Text For Potential Problems",
      "topics": [
        "available_checks",
        "check_text"
      ]
    },
    {
      "page": "DATA",
      "title": "Fictitious Classroom Dialogue",
      "topics": [
        "DATA"
      ]
    },
    {
      "page": "drop_element",
      "title": "Filter Elements in a Vetor",
      "topics": [
        "drop_element",
        "drop_element_fixed",
        "drop_element_regex",
        "keep_element",
        "keep_element_fixed",
        "keep_element_regex"
      ]
    },
    {
      "page": "drop_row",
      "title": "Filter Rows That Contain Markers",
      "topics": [
        "drop_empty_row",
        "drop_NA",
        "drop_row",
        "keep_row"
      ]
    },
    {
      "page": "fgsub",
      "title": "Replace a Regex with an Functional Operation on the Regex Match",
      "topics": [
        "fgsub"
      ]
    },
    {
      "page": "fix_mdyyyy",
      "title": "Coerce Character m/d/yyyy to Date",
      "topics": [
        "fix_mdyyyy"
      ]
    },
    {
      "page": "has_endmark",
      "title": "Test for Incomplete Sentences",
      "topics": [
        "has_endmark"
      ]
    },
    {
      "page": "make_plural",
      "title": "Make Plural (or Verb to Singular) Versions of Words",
      "topics": [
        "make_plural"
      ]
    },
    {
      "page": "match_tokens",
      "title": "Find Tokens that Match a Regex",
      "topics": [
        "match_tokens"
      ]
    },
    {
      "page": "mgsub",
      "title": "Multiple 'gsub'",
      "topics": [
        "mgsub",
        "mgsub_fixed",
        "mgsub_regex",
        "mgsub_regex_safe"
      ]
    },
    {
      "page": "print.check_text",
      "title": "Prints a check_text Object",
      "topics": [
        "print.check_text"
      ]
    },
    {
      "page": "print.sub_holder",
      "title": "Prints a sub_holder object",
      "topics": [
        "print.sub_holder"
      ]
    },
    {
      "page": "print.which_are_locs",
      "title": "Prints a which_are_locs Object",
      "topics": [
        "print.which_are_locs"
      ]
    },
    {
      "page": "replace_contraction",
      "title": "Replace Contractions",
      "topics": [
        "replace_contraction"
      ]
    },
    {
      "page": "replace_date",
      "title": "Replace Dates With Words",
      "topics": [
        "replace_date"
      ]
    },
    {
      "page": "replace_email",
      "title": "Replace Email Addresses",
      "topics": [
        "replace_email"
      ]
    },
    {
      "page": "replace_emoji",
      "title": "Replace Emojis With Words/Identifier",
      "topics": [
        "replace_emoji",
        "replace_emoji_identifier"
      ]
    },
    {
      "page": "replace_emoticon",
      "title": "Replace Emoticons With Words",
      "topics": [
        "replace_emoticon"
      ]
    },
    {
      "page": "replace_grade",
      "title": "Replace Grades With Words",
      "topics": [
        "replace_grade"
      ]
    },
    {
      "page": "replace_hash",
      "title": "Replace Hashes",
      "topics": [
        "replace_hash"
      ]
    },
    {
      "page": "replace_html",
      "title": "Replace HTML Markup",
      "topics": [
        "replace_html"
      ]
    },
    {
      "page": "replace_incomplete",
      "title": "Denote Incomplete End Marks With \"|\"",
      "topics": [
        "replace_incomplete"
      ]
    },
    {
      "page": "replace_internet_slang",
      "title": "Replace Internet Slang",
      "topics": [
        "replace_internet_slang"
      ]
    },
    {
      "page": "replace_kern",
      "title": "Replace Kerned (Spaced) with No Space Version",
      "topics": [
        "replace_kern"
      ]
    },
    {
      "page": "replace_misspelling",
      "title": "Replace Misspelled Words",
      "topics": [
        "replace_misspelling"
      ]
    },
    {
      "page": "replace_money",
      "title": "Replace Money With Words",
      "topics": [
        "replace_money"
      ]
    },
    {
      "page": "replace_names",
      "title": "Replace First/Last Names",
      "topics": [
        "replace_names"
      ]
    },
    {
      "page": "replace_non_ascii",
      "title": "Replace Common Non-ASCII Characters",
      "topics": [
        "replace_curly_quote",
        "replace_non_ascii",
        "replace_non_ascii2"
      ]
    },
    {
      "page": "replace_number",
      "title": "Replace Numbers With Text Representation",
      "topics": [
        "as_ordinal",
        "replace_number"
      ]
    },
    {
      "page": "replace_ordinal",
      "title": "Replace Mixed Ordinal Numbers With Text Representation",
      "topics": [
        "replace_ordinal"
      ]
    },
    {
      "page": "replace_rating",
      "title": "Replace Ratings With Words",
      "topics": [
        "replace_rating"
      ]
    },
    {
      "page": "replace_symbol",
      "title": "Replace Symbols With Word Equivalents",
      "topics": [
        "replace_symbol"
      ]
    },
    {
      "page": "replace_tag",
      "title": "Replace Handle Tags",
      "topics": [
        "replace_tag"
      ]
    },
    {
      "page": "replace_time",
      "title": "Replace Time Stamps With Words",
      "topics": [
        "replace_time"
      ]
    },
    {
      "page": "replace_to",
      "title": "Grab Begin/End of String to/from Character",
      "topics": [
        "replace_from",
        "replace_to"
      ]
    },
    {
      "page": "replace_tokens",
      "title": "Replace Tokens",
      "topics": [
        "replace_tokens"
      ]
    },
    {
      "page": "replace_url",
      "title": "Replace URLs",
      "topics": [
        "replace_url"
      ]
    },
    {
      "page": "replace_white",
      "title": "Remove White Space Characters",
      "topics": [
        "replace_white"
      ]
    },
    {
      "page": "replace_word_elongation",
      "title": "Replace Word Elongations",
      "topics": [
        "replace_word_elongation"
      ]
    },
    {
      "page": "strip",
      "title": "Strip Text",
      "topics": [
        "strip",
        "strip.character",
        "strip.default",
        "strip.factor",
        "strip.list"
      ]
    },
    {
      "page": "sub_holder",
      "title": "Hold the Place of Characters Prior to Subbing",
      "topics": [
        "sub_holder"
      ]
    },
    {
      "page": "swap",
      "title": "Swap Two Patterns Simultaneously",
      "topics": [
        "swap"
      ]
    },
    {
      "page": "which_are",
      "title": "Detect/Locate Potential Non-Normalized Text",
      "topics": [
        "is_it",
        "which_are"
      ]
    }
  ],
  "_readme": "https://github.com/trinker/textclean/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "data.table",
    "dplyr",
    "dtt",
    "english",
    "generics",
    "glue",
    "lattice",
    "lexicon",
    "lifecycle",
    "magrittr",
    "mgsub",
    "NLP",
    "pillar",
    "pkgconfig",
    "purrr",
    "qdapRegex",
    "R6",
    "rlang",
    "slam",
    "stringi",
    "stringr",
    "syuzhet",
    "textshape",
    "tibble",
    "tidyr",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr",
    "zoo"
  ],
  "_score": 10.477945392742825,
  "_indexed": true,
  "_nocasepkg": "textclean",
  "_universes": [
    "trinker"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.9.8",
      "date": "2026-06-03T10:31:25.000Z",
      "distro": "noble",
      "commit": "80a30ed4677900c976cc301b9c4f26069ca824fe",
      "fileid": "06ae907851c8d206b4d46edd7842d5d59fad8887829b16e5aaef7bbb98b10f97",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trinker/actions/runs/26878807982"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.9.8",
      "date": "2026-06-03T10:31:13.000Z",
      "distro": "noble",
      "commit": "80a30ed4677900c976cc301b9c4f26069ca824fe",
      "fileid": "1c0f4fb33a52d734c1c12a079e404a4b7c29dbb2e74ac78dc0ba19b0af473017",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trinker/actions/runs/26878807982"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.9.8",
      "date": "2026-06-03T10:30:52.000Z",
      "commit": "80a30ed4677900c976cc301b9c4f26069ca824fe",
      "fileid": "c21195c21c875f020774360019ef53c9e106fbc8b687ffab90930b7e40984a82",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trinker/actions/runs/26878807982"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.9.8",
      "date": "2026-06-03T10:31:03.000Z",
      "commit": "80a30ed4677900c976cc301b9c4f26069ca824fe",
      "fileid": "5ca948072b72fafd71b97be4a0d232f3bfea1634375aaa21d9e111ed11055e65",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trinker/actions/runs/26878807982"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.9.8",
      "date": "2026-06-03T10:31:19.000Z",
      "commit": "80a30ed4677900c976cc301b9c4f26069ca824fe",
      "fileid": "306e84d8bb3e865e79762e2c431941e01f976cd2fd748c8c9d971b1ec16cb2c4",
      "status": "success",
      "buildurl": "https://github.com/r-universe/trinker/actions/runs/26878807982"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.9.8",
      "date": "2026-06-03T10:30:31.000Z",
      "commit": "80a30ed4677900c976cc301b9c4f26069ca824fe",
      "fileid": "39294ddbba4b39fcbe2297c338b77f2bcdbbff4fdb341937a2b265b3077bf1f2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trinker/actions/runs/26878807982"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.9.8",
      "date": "2026-06-03T10:30:42.000Z",
      "commit": "80a30ed4677900c976cc301b9c4f26069ca824fe",
      "fileid": "f6be01a01776f7352b4665201d6615eae896e3c0583503aaa4b80cdac6ba739e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trinker/actions/runs/26878807982"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.9.8",
      "date": "2026-06-03T10:30:51.000Z",
      "commit": "80a30ed4677900c976cc301b9c4f26069ca824fe",
      "fileid": "83f695a41e7905a0c6ac42d9b44c6ff70e16a4df240077d5d69621b3b841eebc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trinker/actions/runs/26878807982"
    }
  ]
}