Solved

String Removal


Badge

Hi.

Im new to FME and this seems like a simple one.

 

I have an attribute called type and within it the following values

 

 

Floor:FLR1009

 

Slab:SLB2435

 

DOR-1000

 

WAL-2000

 

 

I want to remove the Floor: and the Slab:

 

Id rather use a string renamer if possible as the Floor: and Slab: will be constant.

 

 

Thanks

 

Chris.
icon

Best answer by takashi 14 January 2017, 04:54

View original

11 replies

Userlevel 4
Badge +13
Hi @cfordigan. What is your question about string removal?

 

Badge
Hi.

 

 

Im new to FME and this seems like a simple one.

 

 

I have an attribute called type and within it the following values

 

 

Floor:FLR1009

 

Slab:SLB2435

 

DOR-1000

 

WAL-2000

 

 

I want to remove the Floor: and the Slab:

 

 

Id rather use a string renamer if possible as the Floor: and Slab: will be constant.

 

 

Thanks

 

 

Chris.

 

 

 

 

Userlevel 4
Badge +13

I would suggest by starting checking out the StringSearcher. You could use two, one to remove Floor: and the other Slab:

 

Good luck!
Userlevel 3
Badge +17

Yes, it seems to be a case where you can use regular expressions effectively and I agree that the StringSearcher would be a good starting point. If you have been familiar with regular expressions already, however, I think the StringReplacer would be an elegant solution to remove the leading "Floor:" or "Slab:" from each string value. The parameters would be:

  • Attributes: type
  • Text to Match: ^(Floor:|Slab:)?(.*)$
  • Replacement Text: \\2
  • Use Regular Expressions: yes

Badge

fantastic. It worked a dream!

Thanks so much.

Badge

Hi Again,

Can I ask, when I have a field like

Assembled Stair:

It replaces the Assembled, but not the Stair:

I have tried putting a . between the Assembled.Stair

To replace a full string and not one word, is there something I need to do perhaps?

Thanks again for your help

Chris

 

Userlevel 4
Badge +13

Hi Again,

Can I ask, when I have a field like

Assembled Stair:

It replaces the Assembled, but not the Stair:

I have tried putting a . between the Assembled.Stair

To replace a full string and not one word, is there something I need to do perhaps?

Thanks again for your help

Chris

 

@cfordigan What transformer are you using? What have you entered for the transformer parameters? Thanks

 

Badge

Hi Natalie,

This is what Im using and all but the last part works perfectly.

The Assembled Stair: returns Stair: and I think because of the space, so Ive tried \\s. It works OK with the regex tester but I doesnt replace the string in FME.

Do you think this is the best way to remove this also? I may have up to 10 strings to replace.

^(Structural_Columns_UC-Univeral_Column:|Floor:|Railing:|Basic Wall:|Assembled\\sStair:)

Thanks for your help.

Chris

Userlevel 1
Badge +21

You may be better off using a string pair replacer here with the Replacement pairs syntax something like

"Assembled Stair:" "" Floor: "" Railing: ""

Userlevel 1
Badge +21

You may be better off using a string pair replacer here with the Replacement pairs syntax something like

"Assembled Stair:" "" Floor: "" Railing: ""

The regex ^(Structural_Columns_UC-Univeral_Column:|Floor:|Railing:|Basic Wall:|Assembled\\sStair:)?(.*)$ works for me in the String Replacer though

 

 

What version of FME are you using?

 

 

Userlevel 3
Badge +17

I guess that the requirement is to remove the leading part until the colon if the original string contains a colon. If so, the StringReplaceer with this regular expression could work too.

^(.*:)?(.*)$

Reply