abap语言中,如何将字符串 A 的第二位 替换成 1?请附上代码 多谢 字符串A的长度可以保证大于2位.
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了abap语言中,如何将字符串 A 的第二位 替换成 1?请附上代码 多谢 字符串A的长度可以保证大于2位.相关的知识,希望对你有一定的参考价值。
参考技术A DATA : LV_STR TYPE CHAR20.DATA : LV_LINE TYPE SY-INDEX.
DATA : LV_INDEX TYPE SY-INDEX.
DATA : LV_TABIX TYPE SY-TABIX.
DATA : LV_CHAR TYPE C.
DATA : LV_C TYPE C.
" 第一种
LV_STR = 'ABAADDD435345AD3'.
LV_LINE = STRLEN( LV_STR ).
WRITE : / 'Old value : ', LV_STR.
CLEAR : LV_INDEX, LV_TABIX, LV_CHAR, LV_C.
DO LV_LINE TIMES.
LV_CHAR = LV_STR+LV_INDEX(1).
IF LV_CHAR EQ 'A'.
LV_TABIX = LV_INDEX + 1.
LV_STR+LV_TABIX(1) = 1.
CONDENSE LV_STR.
ENDIF.
LV_INDEX = LV_INDEX + 1.
ENDDO.
WRITE : / 'New value : ', LV_STR.
" 第二种
LV_STR = 'ABAADDD435345AD3'.
LV_LINE = STRLEN( LV_STR ).
WRITE : / SY-ULINE.
WRITE : / 'Old value : ', LV_STR.
CLEAR : LV_INDEX, LV_TABIX, LV_CHAR, LV_C.
DO LV_LINE TIMES.
LV_CHAR = LV_STR+LV_INDEX(1).
IF LV_C EQ 'A' AND LV_CHAR NE 'A'.
LV_STR+LV_INDEX(1) = 1.
CONDENSE LV_STR.
ENDIF.
LV_C = LV_CHAR.
LV_INDEX = LV_INDEX + 1.
ENDDO.
WRITE : / 'New value : ', LV_STR.
结果:
1,
Old value : ABAADDD435345AD3
New value : A1A1DDD435345A13
2,
Old value : ABAADDD435345AD3
New value : A1AA1DD435345A13 参考技术B DATA:LEN TYPE I,STR(10) TYPE C,RSTR TYPE C.
STR = 'ABCBE123'.
LEN = STRLEN( STR ).
IF LEN >= 2.
RSTR = STR+1(1).
REPLACE RSTR LENGTH LEN WITH '1' INTO STR.
ENDIF.
结果:A1CBE123 参考技术C data: lv_string(2) type c value '12'.
lv_string+1(1) = '1'.本回答被提问者采纳 参考技术D DATA:A(3) VALUE 'ABC'.
A+1(1) = '1'.
结果是A = 'A1C'. 第5个回答 2012-05-25 A+1(1) = '1'.
常见的位操作
1:具体操作那个bit
假如操作a的第二位
int a = 0xbb;
a = a & 0xfffffffd; (保留其他位,只把a的第二位制零)
a 的第二位制1
a = a | 0x2; (保留其他位只把第二位制1)
a的第二位制0
a = a | 0x0; (保留其他位只把第二位制0)
以上是关于abap语言中,如何将字符串 A 的第二位 替换成 1?请附上代码 多谢 字符串A的长度可以保证大于2位.的主要内容,如果未能解决你的问题,请参考以下文章