Remove text from a text file without otherwise altering the file

1 vue (au cours des 30 derniers jours)
Morpheuskibbe
Morpheuskibbe le 11 Juin 2018
Modifié(e) : Paolo le 11 Juin 2018
I need to remove text from a text file without otherwise altering the file INCLUDING other text in the same line. specifically I need the text of the form 'E\S+' (ie "E3453.464") to go away without otherwise altering the line.
so this: G1 X104.650 Y95.350 E4.58979 should become this G1 X104.650 Y95.350
and this G1 E-2.00000 F2400.00000 should become this G1 F2400.00000

Réponse acceptée

Paolo
Paolo le 11 Juin 2018
Modifié(e) : Paolo le 11 Juin 2018
You can use regexprep for this purpose.
x1 = 'G1 X104.650 Y95.350 E4.58979';
x2 = 'G1 E-2.00000 F2400.00000';
x1 = regexprep(x1,'(E-?)([0-9]){0,}\.?(\d+)\s?','');
x2 = regexprep(x2,'(E-?)([0-9]){0,}\.?(\d+)\s?','');
x1 = 'G1 X104.650 Y95.350 '
x2 = 'G1 F2400.00000'
The expression:
  • Match E
  • Match '-' optionally
  • Match numbers 0-9 at least one time
  • Match '.' optionally
  • Match as many digits as possible
  • Match whitespace optionally
  6 commentaires
Guillaume
Guillaume le 11 Juin 2018
Note that {0,} is the same as * and {1,} is the same as + in regular expressions. In my opinion, E-{0,} should be E-? (aka E-{0,1})
Paolo
Paolo le 11 Juin 2018
Modifié(e) : Paolo le 11 Juin 2018
Totally, the first E-{0,} is actually meant to be E-?, as from the examples OP gave there is only one '-' character. While editing I changed both of them rather than just the second one...

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Environment and Settings dans Help Center et File Exchange

Produits


Version

R2016a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by