Removing part of string

Marc 'BlackJack' Rintsch bj_666 at gmx.net
Mon May 14 03:37:13 EDT 2007


In <1179122203.691267.64200 at o5g2000hsb.googlegroups.com>, saif.shakeel
wrote:

> Hi,
>     I am parsing an xml file ,and one part of structure looks
> something like this:
> 
> - <COMPARAM id="_338" DDORef="_18" Semantics="timing"
> PhysicalLink="Infotainment_Control_Bus_CAN">
>   <SHORTNAME>Infotainment_Control_Bus_CAN_TIMEOUT_AX</SHORTNAME>
>   <LONGNAME>Timeout N_As/N_Ar</LONGNAME>
>   <DESCRIPTION>Time from transmit request until a CAN frame transmit
> confirmation is received.</DESCRIPTION>
>   </COMPARAM>
> 
>                   In my code i am extracting the data within
> <LONGNAME>,which is Timeout N_As/N_Ar.These tags repeat and will have
> different timer names..like
> 
> - <COMPARAM id="_339" DDORef="_18" Semantics="timing"
> PhysicalLink="Infotainment_Control_Bus_CAN">
>   <SHORTNAME>Infotainment_Control_Bus_CAN_TIMEOUT_BS</SHORTNAME>
>   <LONGNAME>Timeout N_Bs</LONGNAME>
>   <DESCRIPTION>Time that the transmitter of a multi-frame message
> shall wait to receive a flow control (FC) frame before timing out with
> a network layer error.</DESCRIPTION>
>   </COMPARAM>
> 
>                  I need to remove the words Timeout from the data,and
> take only the abbrevation..i.e.N_As/N_bs like that .In short i have to
> remove the words which come with name Time,and also the space which
> comes next to it.
> and take only the abbreviation.Can someone help me in this.

You can test for the prefix with the `startswith()` method and use string
slicing to create a new string without the prefix:

In [3]: prefix = 'Timeout '

In [4]: longname = 'Timeout N_Bs'

In [5]: longname.startswith(prefix)
Out[5]: True

In [6]: longname = longname[len(prefix):]

In [7]: longname
Out[7]: 'N_Bs'

Ciao,
	Marc 'BlackJack' Rintsch



More information about the Python-list mailing list