Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Capture String.

Former Member
0 Kudos

Hi Experts,

I have string. I need to capture the last few characters of string.

Last characters has fixed different lengths.

for example:

1) 123_344_hhhsj.

2) hh_jj_kklkikk

In two cases I need to captute hhhsj and kklkikk.

Any ideas.

Thankyou In advance.

Thanks

Reddy.

Edited by: Reddy on Mar 6, 2009 1:57 PM

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Try this.

Data: w_input TYPE string VALUE 'hh_jj_kklkikk'.

Data: w_part1 type string.

Data: w_part2 type string.

Data: w_part3 type string.

Split w_input at `_`

into w_part1 w_part2 w_part3.

write: `3rd part of string = `, w_part3.

5 REPLIES 5

Former Member
0 Kudos

hi,

Check this code. This works as per your requirement.

Report ZTEST.
DATA:
  w_str TYPE string VALUE 'hh_jj_kklkikk',
  w_len TYPE i,
  w_fdpos TYPE i.

w_len = STRLEN( w_str ).
SUBTRACT 1 FROM w_len.
DO.

  IF w_str+w_len(1) EQ '_'.
    EXIT.
  ENDIF.
  ADD 1 TO w_fdpos.
  SUBTRACT 1 FROM w_len.
ENDDO.

ADD 1 TO w_len.
WRITE:
  w_str+w_len(w_fdpos).

Thanks

Sharath

Former Member
0 Kudos

REPORT zstring.

DATA: str type string value '123_344_hhhsj',

str1 TYPE string,

str2 type string.

DO.

FIND '_' in str.

IF sy-subrc EQ 0.

SPLIT str at '_' INto str1 str.

ELSE.

WRITE: str.

EXIT.

ENDIF.

ENDDO.

Try this code.

Former Member
0 Kudos

Try this.

Data: w_input TYPE string VALUE 'hh_jj_kklkikk'.

Data: w_part1 type string.

Data: w_part2 type string.

Data: w_part3 type string.

Split w_input at `_`

into w_part1 w_part2 w_part3.

write: `3rd part of string = `, w_part3.

former_member156446
Active Contributor
0 Kudos

Hi check this code:

DATA:
  w_str(13) TYPE c VALUE 'hh_jj_123457',
  w_1 TYPE string,  w_2 TYPE string, w_count TYPE i.

CALL FUNCTION 'STRING_REVERSE'
  EXPORTING
    string    = w_str
    lang      = 'E'
  IMPORTING
    rstring   = w_str
  EXCEPTIONS
    too_small = 1
    OTHERS    = 2.

DO.
  w_1 = w_str+w_count(1).
  IF w_1 = '_'.
    WRITE: w_2.
    EXIT.
  ENDIF.
  CONCATENATE w_1 w_2 INTO w_2.
  w_count = w_count + 1.
ENDDO.

output: 123457

Former Member
0 Kudos

Self answered