Application Development and Automation 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: 
Read only

Capture String.

Former Member
0 Likes
801

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
Read only

Former Member
0 Likes
754

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
Read only

Former Member
0 Likes
754

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

Read only

Former Member
0 Likes
754

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.

Read only

Former Member
0 Likes
755

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.

Read only

former_member156446
Active Contributor
0 Likes
754

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

Read only

Former Member
0 Likes
754

Self answered