文字列内の各文字を読み取るにはどうすればよいですか? たとえば、文字列「a7m4d0」の各文字を読み取りたいとします。その後、各文字が文字または数字であることを確認したいと思います。ヒントやアイデアはありますか?
質問する
69808 次
5 に答える
7
少し複雑で、最近の 740 ABAP サーバーで。:)
DATA: lv_text TYPE string VALUE `a7m4d0`.
DO strlen( lv_text ) TIMES.
DATA(lv_single) = substring( val = lv_text off = sy-index - 1 len = 1 ) && ` is ` &&
COND string( WHEN substring( val = lv_text off = sy-index - 1 len = 1 ) CO '0123456789' THEN 'Numeric'
ELSE 'Character' ).
WRITE : / lv_single.
ENDDO.
于 2014-10-13T15:01:33.043 に答える
3
文字列内の単一の文字にアクセスする方法は次のとおりです。
この例では、文字 "t" を変数 "lv_char1" に抽出します。
DATA: lv_string TYPE char10,
lv_char TYPE char1.
lv_string = "Something";
lv_char1 = lv_string+4(1).
文字列名に「+4」を追加すると、文字列の先頭からのオフセット (この場合は 4) が指定され、「(1)」は取得する文字数が指定されます。
詳細については、こちらのドキュメントを参照してください。
http://help.sap.com/saphelp_nw04/Helpdata/EN/fc/eb341a358411d1829f0000e829fbfe/content.htm
各文字を順番に調べたい場合は、「strlen( )」を使用してフィールドの長さを取得し、各文字に対してループを実行できます。
于 2013-04-21T15:47:17.050 に答える