1. 程式人生 > >ABAP字串操作 擷取字元長度 取位數

ABAP字串操作 擷取字元長度 取位數

ABAP字串操作 ABAP對字串的操作方法與其他語言的操作有較大差別,以下是較常用的對字串操作的方法:

1. 字串的連線:CONCATENATE
 DATA: t1 TYPE c LENGTH 10 VALUE 'We',
t2 TYPE c LENGTH 10 VALUE 'have',
t3 TYPE c LENGTH 10 VALUE 'all',
t4 TYPE c LENGTH 10 VALUE 'the',
t5 TYPE c LENGTH 10 VALUE 'time',
t6 TYPE c LENGTH 10 VALUE 'in',
t7 TYPE c LENGTH 10 VALUE 'the',
t8 TYPE c LENGTH 10 VALUE 'world',
result TYPE string.

CONCATENATE t1 t2 t3 t4 t5 t6 t7 t8 INTO result. "直接連線
CONCATENATE t1 t2 t3 t4 t5 t6 t7 t8 INTO result SEPARATED BY space. "用空格將每個字串連線


2. 拆分字串: SPLIT
DATA: str1 TYPE string,
str2 TYPE string,
str3 TYPE string,
itab TYPE TABLE OF string,
text TYPE string.

text = `What a drag it is getting old`.
SPLIT text AT space INTO: str1 str2 str3,
TABLE itab.

3. 去除多餘的空格:CONDENSE
 DATA: BEGIN OF sentence,
word1 TYPE c LENGTH 30 VALUE 'She',
word2 TYPE c LENGTH 30 VALUE 'feeds',
word3 TYPE c LENGTH 30 VALUE 'you',
word4 TYPE c LENGTH 30 VALUE 'tea',
word5 TYPE c LENGTH 30 VALUE 'and',
word6 TYPE c LENGTH 30 VALUE 'oranges',
END OF sentence,
text TYPE string.

text = sentence.
CONDENSE text.“在每個連線串中間會有一個空格
  CONDENSE text No-GAPS. "在後面加入NO-GAPS後,所有空格都會去除。

4.字串轉換:TRANSLATE
DATA text TYPE string.
text = `Careful with that Axe, Eugene`.
TRANSLATE text TO UPPER CASE. "轉大寫
TRANSLATE text TO LOWER CASE. "轉小寫

  DATA text TYPE string.
  text = `Barbcbdbarb`.
  TRANSLATE text USING 'ABBAabba'. “A與B換轉 a與b換轉

5.取字串長度:STRLEN
data text type c length 20.
data: ilen type i.
text = `Barbcbdbarb`.
ilen = strlen( text ). "字串實際長度(11)
describe field text length ilen in byte mode. "字串定義時的位元組長度,一個長度等2個位元組(40)
describe field text length ilen in character mode. "字串定義的長度(20)

6.擷取子字串
data: text type c length 10.
data: ilen type i.
data: subtext type c length 5.
text = 'ABCDEFGHIJ'.
subtext = text+0(5). "取左邊5個字元('ABCDE')
subtext = text+3(5). "從第四個字串起取5個字元('DEFGH)
text+0(1) = 'Z'. "將第一個字元變為'Z'
注意:+兩邊不能有空格。

相關推薦

ABAP字串操作 擷取字元長度 位數

ABAP字串操作 ABAP對字串的操作方法與其他語言的操作有較大差別,以下是較常用的對字串操作的方法:1. 字串的連線:CONCATENATE  DATA: t1 TYPE c LENGTH 10 VALUE 'We', t2 TYPE c LENGTH 10 VALUE

Abap 字串及特殊字元處理

1.字元轉ASCII   URL_ASCII_CODE_GET   特點:根據這個演算法可以中文轉ASCII DATA: char_cd(2) TYPE c. CALL FUNCTION 'URL_ASCII_CODE_GET'

Python字串操作字元大小寫轉換

6、字元的大小寫轉換 6.1 str.lower():將str中的大寫字母轉小寫字母 >>> 'SDdf'.lower() 'sddf' 6.2 str.upper():將str中的小寫字母轉成大寫字母 >>>

用bat從字串擷取字元

  以字串a=123456789為例,分別擷取1,2,9,123,234,789欄位。 1)擷取欄位“1”: @echo off set a=123456789 set var=%a:~0,1% echo %var% pause 效果如下: 方法二:(只改變一

PHP中讀取(擷取substr)字串前N個字元或者從第幾個字元開始幾個字元

<?php $str = "123456789"; echo substr($str , 0 , 3);//從左邊第一位字元起擷取3位字元:結果:123 echo substr($str , 3

lua 含中文的字串處理--分離字元、計算字元數、擷取指定長度

lua中對中文字串的一些處理 分離字元 將每個字元分離出來,放到table中,一個單元內一個字元 function StringToTable(s) local tb = {} --[[ UTF8的編碼規則: 1. 字元的第一個

ABAP自定義擷取字串長度函式

SAP 中strlen()只能計算字串的個數,不能計算含有中文字串的長度,如字串“SAP大波霸”,strlen('SAP大波霸') = 6,其實真實長度為3+3*2 = 9。 我們可以通過cl_abap_list_utilities=>dynamic_output_

求滿足條件的全部字串,條件:長度為n且它的每一個字元都屬於陣列s

#include<stdio.h> int main(){ void prin(char s[],int n,int sign,char *p); char s[3] = {'A','B','C'}; int n; scanf("%d",&

【oracle 處理字元型資料】常見字串操作

oracle提供了豐富的字串函式來處理字元型資料。 向左補全字串 lpad(id,5,‘0’) 向右補全字串rpad(id,5,‘0’) 字串轉換為小寫形式 lower(string) 字串轉換為大寫形式 upper(string) 單詞首字母大寫,其

JAVA擷取後String字串六位字元

public static void main(String[] args){ String cellphone="15585458544"; String pwd = cellphone.substring(cellphone.length() - 6);

shell的一些操作擷取字串,生成隨機數,讀檔案迴圈

按指定字元擷取字串 方法一 #!/bin/bash string="fuck,you,frank" array=(${string//,/ }) for var in ${array[@]} do echo $var done 方法二 #!/bin/bash s

C#的字串擷取長度未定時

設: str="前字串=後字串"; "needstr"作為我們需要的內容;   注意所選取的字元未定長度的時候選用!   字串指定兩邊字元,取中間字元 //我們希望得到的字串“=”; needstr = new Regex("(?<=(" + "

擷取字串:指定字元間的擷取

String str = "United States' larg'es't"; String targetStr = str.replaceAll("\'", "\\\\'"); System.out.println("修改後:" + targetStr); System.out.println("修

scala常用操作-去除字串最後一個字元

不BB直接上程式碼 /** * @ author: zjf * @ description: * @ date: 2018/9/20 20:55 */ object Test { def main(args: Array[String]): Unit = {

2Python 字串操作(string替換、刪除、擷取、複製、連線、比較、查詢、包含、大小寫轉換、分割等)

去空格及特殊符號 s.strip().lstrip().rstrip(',') 複製字串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 連線字串 #strcat(

[work] Python 字串操作擷取/替換/查詢/分割)

Python 擷取字串使用 變數[頭下標:尾下標],就可以擷取相應的字串,其中下標是從0開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。 # 例1:字串擷取 str = '12345678' print str[0:1] >> 1   # 輸出s

建立一個長度是5的隨機字串,隨機字元有可能是數字,大寫字母或者小寫字母,並將它從小到大排序

無力吐槽。。。 基礎是真的差,一個直接排序搞了一下午都沒成功。僅僅是對於基本知識點理解不透徹,少加一個等號。 看別人找工作,語言是基礎,還要懂linux,資料結構與演算法。。。。。 加油吧。 public class suijizifuchuan { /**

判斷字串能否通過數次尾部置前操作得到另一個字串

輸入第一行為數字t,t為字串輸入行數 剩下t行每兩行一組,每組判斷。 import java.awt.geom.CubicCurve2D; import java.util.Scanner; public class Main { public static voi

字串按照指定的長度擷取,返回多個子字串

/** * @param str 原始字串 * @param len 被擷取子字串 * @return String[] */ public static String[] hexStrToByteStr(St

編寫一個函式 reverse_string(char * string)(遞迴實現) 實現:將引數字串中的字元反向排列。 要求:不能使用C函式庫中的字串操作函式。

給定字串,程式碼如下: #include <stdio.h> #include <stdlib.h> #include <assert.h> char* reverse_string(char *str) { assert(str !