Anuncio

Colapsar
No hay anuncio todavía.

Hola! como busco un caracter en un string ?

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Hola! como busco un caracter en un string ?

    Bueno, pues mi problema es el siguiente.

    Tengo un string de 25 caracteres y tengo que ver si existen 4 valores dentro de la posición 10.

    Como lo podría hacer?

    Saludos!
    JoHa!

  • #2
    Hola Johacker!! te paso un programa q resuelve eso.... Podés usar la sentencia FIND que es para manejo de caracteres.

    REPORT ZTEST.

    DATA: text TYPE string.

    text = 'abcdefghijklmnopqrstuvwxyz'.

    FIND REGEX 'j|l' IN text+9(1).

    IF sy-subrc = 0.
    WRITE: 'encontro datos.'.
    ENDIF.

    espero q te sirva!

    Comentario


    • #3
      Olvide aclarar algunas cosas por si no quedaron en claro.

      cuando usan el find, lo que está entre | pipes son los caracteres que tienen q buscar en el string.

      el +9(1) es el offset para ir a la posición 10 del string.

      saludos!

      Comentario


      • #4
        contenido de caracter

        Hola Joh!
        En base al ejemplo del amigo hdb1979,normalmente yo lo hago de esta forma.

        DATA: text TYPE string.

        text = 'abcdefghijklmnopqrstuvwxyz'.

        IF texto+9(1) CA 'aj'.
        WRITE: 'contiene j'.
        ELSE.
        WRITE: 'No contiene j'.
        ENDIF.


        Espero te sirva.
        Saludos

        Comentario


        • #5
          Gracias y bienvenido cesargstk, esa es otra buena forma de buscar un string.....

          Ahora armo un post con las sentencias de los strings.

          saludos

          Comentario


          • #6
            buscar caracter en un string

            Originalmente publicado por hdb1979 Ver Mensaje
            Gracias y bienvenido cesargstk, esa es otra buena forma de buscar un string.....

            Ahora armo un post con las sentencias de los strings.

            saludos
            hola yo manejo esta forma para buscar un caracter dentro de un string.
            data: accion(15) type c.
            accion = 'ejemplo{magda}.'.
            SEARCH ACCION FOR '{' AND MARK .
            IF SY-SUBRC = 0.
            write 'si encontro'.
            ENDIF.

            espero les sirva de algo. saludos

            Comentario


            • #7
              Hola hdb, soy nuevo y necesito ayuda. Tengo que hacer prácticamente lo mismo. Buscar en la posición 10 del string "zcha" y agregarlo a un target group si contiene un '9', 'A' ó 'B' y después pasarme al siguiente registro y volver a hacer lo mismo. Espero puedas o puedan ayudarme, copio la rutina del proceso de análisis. Gracias y saludos!

              REPORT RSAN_WB_ROUTINE_TEMP_REPORT .

              TYPES: BEGIN OF y_source_fields ,
              BPARTNER TYPE /BI0/OIBPARTNER ,
              ZFAHR TYPE /BIC/OIZFAHR ,
              ZBR TYPE /BIC/OIZBR ,
              ZCHA TYPE /BIC/OIZCHA ,
              END OF y_source_fields .
              TYPES: yt_source_fields TYPE STANDARD TABLE OF y_source_fields .

              TYPES: BEGIN OF y_target_fields ,
              ZCHA TYPE /BIC/OIZCHA ,
              ZBRTYPE /BIC/OIZBR ,
              ZSELCOUNT TYPE /BIC/OIZSELCOUNT ,
              CALDAY TYPE /BI0/OICALDAY ,
              ZSELECTID TYPE /BIC/OIZSELECTID ,
              BPARTNER TYPE /BI0/OIBPARTNER ,
              ZFAHR TYPE /BIC/OIZFAHR ,
              END OF y_target_fields .
              TYPES: yt_target_fields TYPE STANDARD TABLE OF y_target_fields .
              *---------- Begin of type definitions -------------------------------

              *TYPES: ...

              *----------- End of type definitions --------------------------------
              FORM compute_data_transformation
              USING it_source TYPE yt_source_fields
              ir_context TYPE REF TO if_rsan_rt_routine_context
              EXPORTING et_target TYPE yt_target_fields .
              *--------- Begin of transformation code -----------------------------

              DATA: ls_source TYPE y_source_fields,
              ls_target TYPE y_target_fields,
              ls_runhist TYPE zapd_runhist,
              lv_selcount TYPE /bic/oizselcount,
              lv_selid TYPE /bic/oizselectid,
              lv_string TYPE string VALUE '(###)process',
              lv_apd TYPE rsan_process,
              lv_calday TYPE /bi0/oicalday.


              FIELD-SYMBOLS: <fv_process> TYPE rsan_process.
              *------------------------------------------------------------------


              * Administration data of APD
              * Get GUID for Selection
              lv_selid = zcl_fscrm_pctype_create_select=>get_selection_id( ).

              lv_calday = sy-datum.
              CLEAR lv_selcount.
              LOOP AT it_source INTO ls_source.
              MOVE-CORRESPONDING ls_source TO ls_target.
              ls_target-zselectid = lv_selid.
              ADD 1 TO lv_selcount.
              ls_target-zselcount = lv_selcount.
              ls_target-calday = lv_calday.
              APPEND ls_target TO et_target.
              ENDLOOP.

              *---------- End of transformation code ------------------------------
              ENDFORM.

              Comentario

              Trabajando...
              X