日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

kettle对字符串去除空格_整理|ABAP基础知识二:常用字符串处理

發(fā)布時(shí)間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kettle对字符串去除空格_整理|ABAP基础知识二:常用字符串处理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

常用字符串處理

上一期整理了ABAP的數(shù)據(jù)類型和定義,今天我們整理一下開(kāi)發(fā)過(guò)程中常見(jiàn)的字符串處理命令。雖然說(shuō)這些基礎(chǔ)知識(shí)對(duì)于已經(jīng)熟練使用Ctrl c +?Ctrl v的資深碼農(nóng)來(lái)說(shuō)過(guò)于簡(jiǎn)單。但是對(duì)于一些剛剛進(jìn)入行業(yè)的新人來(lái)說(shuō),能夠隨時(shí)打開(kāi)文章翻一翻也許還有有些幫助的。再者,俗話說(shuō)的好,好記性不如爛筆頭,哪天突然就是想不起來(lái)了不就剛好派上用場(chǎng)了~

1,字符串的截取

有時(shí)候我們需要獲取某個(gè)字段值的某幾位數(shù)值,通常可以直接指定字符串開(kāi)始位置和長(zhǎng)度。比如,想要截取下面'I?LIKE?SAP?ABAP'中的sap三個(gè)字符串:

DATA:GDF_FIELD1 TYPE C LENGTH 15,??GDF_FIELD2?TYPE?C?LENGTH?15.????GDF_FIELD1?=?'I?LIKE?SAP?ABAP'.??WRITE?GDF_FIELD1.??GDF_FIELD2?=?GDF_FIELD1+7(3).WRITE: / GDF_FIELD2.

輸出結(jié)果:

字符串的截取默認(rèn)字符是從0開(kāi)始計(jì)算,所以第八位開(kāi)始截3位寫(xiě)做+7(3)。

2,獲取字符串的長(zhǎng)度

abap中可以通過(guò)函數(shù)strlen來(lái)獲取字符串的長(zhǎng)度,如下:

DATA: GDF_FIELD1 TYPE C LENGTH 15, GDF_LENGTH TYPE C LENGTH 3. GDF_FIELD1 = 'I LIKE SAP ABAP'. GDF_LENGTH = STRLEN( GDF_FIELD1 ). WRITE GDF_LENGTH.

輸出結(jié)果:

3,字符串大小寫(xiě)轉(zhuǎn)換

通過(guò)函數(shù)translate可以對(duì)字符串進(jìn)行大小寫(xiě)轉(zhuǎn)換,如下:

DATA: GDF_FIELD1 TYPE C LENGTH 15, GDF_LENGTH TYPE C LENGTH 3.GDF_FIELD1?=?'I?LIKE?SAP?ABAP'.WRITE?GDF_FIELD1.TRANSLATE?GDF_FIELD1?TO?LOWER?CASE.WRITE?/?GDF_FIELD1.

輸出結(jié)果:

再轉(zhuǎn)換回大寫(xiě):

DATA: GDF_FIELD1 TYPE C LENGTH 15, GDF_LENGTH TYPE C LENGTH 3.GDF_FIELD1?=?'i?like?sap?abap'.WRITE?GDF_FIELD1.TRANSLATE?GDF_FIELD1?TO?UPPER?CASE.WRITE / GDF_FIELD1.

輸出結(jié)果:

4,字符串的替換

有時(shí)候我們需要將某個(gè)字符串值的某個(gè)字符替換成制定的字符,可以通過(guò)replace來(lái)進(jìn)行處理。如下:

DATA: GDF_FIELD1 TYPE C LENGTH 15, GDF_LENGTH TYPE C LENGTH 3.GDF_FIELD1?=?'i?like?sap?abap'.REPLACE?'sap'?WITH?'spa'?INTO?GDF_FIELD1.WRITE GDF_FIELD1.

輸出結(jié)果:

5,去處字符串空格

A,使用CONDENSE去除空格

例一:

DATA: GDF_FIELD1 TYPE C LENGTH 15, GDF_FIELD2 TYPE P LENGTH 4 DECIMALS 2.GDF_FIELD2?=?'12345.22'.GDF_FIELD1?=?GDF_FIELD2.WRITE?/?GDF_FIELD1.CONDENSE?GDF_FIELD1.WRITE / GDF_FIELD1.

例二:

DATA: GDF_FIELD1 TYPE C LENGTH 30, GDF_FIELD2 TYPE STRING.GDF_FIELD1 = ' i like sap abap '.GDF_FIELD2 = ' i like sap abap '.WRITE / GDF_FIELD1.WRITE?/?GDF_FIELD2.CONDENSE GDF_FIELD1 NO-GAPS.CONDENSE GDF_FIELD2 NO-GAPS.WRITE / GDF_FIELD1.WRITE / GDF_FIELD2.

備注:

a,如果是C類型只去掉前面的空格,因?yàn)槭嵌ㄩL(zhǎng),就算后面空格去掉了左對(duì)齊時(shí)后面會(huì)補(bǔ)上空格。

b,如果是String類型,則后面空格也會(huì)被去掉

c,NO-GAPS:字符串中間的所有空格都也都會(huì)去除(String類型也是這樣)

d,空格去掉后會(huì)左對(duì)齊

B,使用SHIFT去除空格

例一:

DATA: GDF_FIELD1 TYPE C LENGTH 30, GDF_FIELD2 TYPE STRING.GDF_FIELD1 = ' i like sap abap1 '.GDF_FIELD2 = ' i like sap abap2 '.WRITE / GDF_FIELD1.WRITE / GDF_FIELD2. SHIFT GDF_FIELD1 LEFT DELETING LEADING SPACE. SHIFT GDF_FIELD2 LEFT DELETING LEADING SPACE.WRITE / GDF_FIELD1.WRITE / GDF_FIELD2.

輸出結(jié)果:

例二

DATA: GDF_FIELD1 TYPE C LENGTH 30, GDF_FIELD2 TYPE STRING.GDF_FIELD1 = ' i like sap abap1 '.GDF_FIELD2 = ' i like sap abap2 '.WRITE / GDF_FIELD1.WRITE / GDF_FIELD2. SHIFT GDF_FIELD1 RIGHT DELETING TRAILING SPACE. SHIFT GDF_FIELD2 RIGHT DELETING TRAILING SPACE.WRITE / GDF_FIELD1.WRITE / GDF_FIELD2.

輸出結(jié)果:

6,字符串的拆分

使用函數(shù)SPLIT對(duì)字符串進(jìn)行拆分

例一,拆分到變量中:

DATA: GDF_FIELD1 TYPE C LENGTH 10, GDF_FIELD2 TYPE C LENGTH 3, GDF_FIELD3 TYPE C LENGTH 6.GDF_FIELD1?=?'400-123456'.SPLIT?GDF_FIELD1?AT?'-'?INTO?GDF_FIELD2?GDF_FIELD3.WRITE: / GDF_FIELD1, / GDF_FIELD2, / GDF_FIELD3.

輸出結(jié)果:

例一,拆分到內(nèi)表中:

處理一些文件數(shù)據(jù)比較常用

DATA: GDF_FIELD1 TYPE C LENGTH 10, GDT_FIELD TYPE STANDARD TABLE OF STRING.GDF_FIELD1?=?'400-123456'.SPLIT?GDF_FIELD1?AT?'-'?INTO?TABLE?GDT_FIELD.BREAK-POINT.

內(nèi)表數(shù)據(jù):

7,字符串的合并

CONCATENATE函數(shù)可以對(duì)多個(gè)字符串合并

DATA: GDF_FIELD1 TYPE C LENGTH 5, GDF_FIELD2 TYPE C LENGTH 3, GDF_FIELD3 TYPE C LENGTH 10. GDF_FIELD1 = '12345'. GDF_FIELD2 = 'ABC'. CONCATENATE GDF_FIELD1 GDF_FIELD2 INTO GDF_FIELD3. WRITE GDF_FIELD3.* 空格區(qū)分開(kāi) CONCATENATE GDF_FIELD1 GDF_FIELD2 INTO GDF_FIELD3 SEPARATED BY SPACE. WRITE / GDF_FIELD3.

輸出結(jié)果:

輸出結(jié)果:

8,查找字符串的位置

DATA: PATT TYPE STRING VALUE `now`, TEXT TYPE STRING, RESULT_TAB TYPE MATCH_RESULT_TAB,??????LDT_COUNT??????TYPE?I.FIELD-SYMBOLS LIKE LINE OF RESULT_TAB.FIND ALL OCCURRENCES OF PATT IN `Everybody knows this is nowhere` MATCH COUNT LDT_COUNT RESULTS RESULT_TAB.*找到的次數(shù)WRITE LDT_COUNT.LOOP AT RESULT_TAB ASSIGNING . WRITE: / -OFFSET, "位置 -LENGTH. "長(zhǎng)度ENDLOOP.

輸出結(jié)果:

下期講解:選擇畫(huà)面定義

以上、宜しくお願(yuàn)い致します。

日語(yǔ)遇上搬磚

?每天一起進(jìn)步一點(diǎn)點(diǎn)

總結(jié)

以上是生活随笔為你收集整理的kettle对字符串去除空格_整理|ABAP基础知识二:常用字符串处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。