SAS Remove The Last Characters If Special
I have a sas dataset with the variable called response, which has the following records:
and so on.
These are all the same records, I need to remove the last character wherever special and return the records as
When I use a compress function, it removes the asterisk in between and returns: TrailerOffer which is not what I want. Can somebody please help me code this? I need to remove the last characters if these are special.
You can use regular expression character classes to specify the 'special' trailing characters. In this example replacement pattern, any characters that are not letters or numbers will be removed.
\s* is needed before
$ because SAS character variables will have trailing spaces when their values are passed to the regex engine.
Learn more about regular expression class groupings in the SAS documentation
data have; length response $20.; input response; datalines; Trailer*Offer Trailer*Offer* Trailer*Offer??? Trailer*Offer?... Offer#1 Offer#1? Offer#1*? ; data want; set have; response = prxchange ('s/[^a-z0-9]+\s*$//i', 1, response); run;
- → I can't do a foreign key, constraint error
- → How to implement DbDongle::convertTimestamps as workaround of invalid timestamps with MySql strict
- → MySQL error "Foreign key constraint is incorrectly formed"
- → Eloquent Multitable query
- → "Laravel 5.1" add user and project with userId
- → Database backup with custom code in laravel 5 and get the data upto 10 rows from per table in database
- → Laravel 5.1 QueryException when trying to delete a project
- → Using Array in '->where()' for Laravel Query Building
- → Chaining "Count of Columns" of a Method to Single Query Builder
- → Laravel Eloquent Joining Strange query
- → convert time using mysql laravel 5
- → How to update a column after an expiration date in MySQL?
- → Foreign key constraint fails on existing key