Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • remove certain string chars if in beginning of string var only

    Dear Statalist,

    I have been searching for ways to remove a sequence of characters from a string variable only if they appear in the beginning of the word, and I have not found a successful way to implement this.

    My example data are as follows, with quotation marks added to make it clear where blanks are present in the string variable traintype:

    obs traintype
    1 " - Training on anesthesia machine - provider"
    2 " - Training on anesthesia machine - trainer"
    3 "Training on anesthesia machine - provider
    4 "Training on anesthesia machine - trainer"

    I would like obs 1&2 to appear as obs 3&4 however, I am unable to just replace the sequence " - " from the whole string because this would remove the sequence later in the variable that I want to maintain.

    Thank you so much for considering this question.

    Best,
    Alison


  • #2
    I like string functions but this is probably simpler with regular expressions

    Code:
    replace traintype = regexr(traintype, "^ - ", "")
    Best
    Daniel

    Comment


    • #3
      alternatives,
      Code:
      replace traintype = substr(traintype, 4, . ) if ( substr(traintype, 1,3) == " - " )
      Code:
      replace traintype = subinstr(traintype, " - " , "", 1 ) if ( substr(traintype, 1,3) == " - " )

      Comment

      Working...
      X