ABAP 擷取字串(Start Routine)

2021-05-23 09:53:57 字數 956 閱讀 2953

需求:

有主資料zplant,取自工廠描述的一部分,用'-'隔開,比如"工廠a-北京",zplant只需要"工廠a"。

怎麼解決呢:

寫在start routine裡,

data:

z_res_wa typematch_result,

z_res_tab typematch_result_tab,

z_data type_ty_s_sc_1,

z_offset typei.

loopatsource_package intoz_data.

ifz_data-werks(1) <> 'a'.

findalloccurrencesofregex '-'inz_data-tx*** results

z_res_tab.

loopatz_res_tab intoz_res_wa.

z_data-tx*** = z_data-tx***(z_res_wa-offset).

endloop.

modifysource_package fromz_data.

else.

deletesource_package wherewerks = z_data-werks.

endif.

endloop.

這裡了利用了:

findalloccurrencesofregex '-'inz_data-tx*** results

z_res_tab.

這裡的results放在型別為

match_result_tab

的表裡。

表的行專案為

match_result

。有如下引數:

這裡說說offset,就是偏移量,想擷取,只需要string(offset)就哦了~

然後擷取完了賦值,賦值完了修改內錶,over。

ps:俺不是專業的abap,隨便寫寫…

擷取字串

static function blogsummary str,len 100 else out valtmp break tmp tmpstr outlen mb strlen valtmp,charset out val.rs 2 key right rs 2 key unset rs tags...

擷取字串

擷取字串一般使用string類的substring方法。public string substring int beginindex 返回該字串子串的新字串。子字串開始於指定的位置並且擴充套件到該字串的結尾。public string substring int beginindex,int end...

擷取字串

題目要求 編寫乙個擷取字串的程式,輸入為乙個字串和乙個位元組數字,輸出為按位元組擷取的字串,保證漢字不被擷取半個,如 eg 我abc 4 擷取 我ab eg 我abc漢def 6 擷取 我abc 而不是 我abc 漢 的半個解題思路 那麼擷取字串時考慮當前字元是否為漢字的一部分,如果不是漢字則計數位...