当前位置:文档之家› abap字符串操作语法总结

abap字符串操作语法总结

abap字符串操作语法总结
abap字符串操作语法总结

ABAP 字符串操作语法总结

CONCATENATE:合并字符串.

CONCATENATE f1 … fn INTO g [SEPARATED BY h].

1* CONCATENATE合并字符串

2DATA: c1(10) TYPE c VALUE 'Sum',

3c2(3) TYPE c VALUE 'mer',

4c3(5) TYPE c VALUE 'holi ',

5c4(10) TYPE c VALUE 'day',

6c5(30) TYPE c ,

7sep(3) TYPE c VALUE ' - '.

8CONCATENATE c1 c2 c3 c4 INTO c5.

9WRITE c5.

10CONCATENATE c1 c2 c3 c4 INTO c5 SEPARATED BY sep. 11WRITE / c5.

--------------------------------------------------------

输出结果:

Summerholiday

Sum - mer - holi - day

--------------------------------------------------------

SPLIT: 字符串拆分.

SPLIT f AT g INTO h1 … hn.

SPLIT f AT g INTO TABLE itable.

1* splitting strings

2DATA: string10(60) TYPE c ,

3p1(20) TYPE c VALUE '++++++++++++++++++++', 4p2(20) TYPE c VALUE '++++++++++++++++++++', 5p3(20) TYPE c VALUE '++++++++++++++++++++', 6p4(20) TYPE c VALUE '++++++++++++++++++++', 7del10(3) TYPE c VALUE '***'.

8 string10 = ' Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5'. 9WRITE string10.

10SPLIT string10 AT del10 INTO p1 p2 p3 p4.

11WRITE / p1.

12WRITE / p2.

13WRITE / p3.

14WRITE / p4.

--------------------------------------------------------

输出结果:

Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5

Part 1

Part 2

Part 3

Part 4 *** Part 5

--------------------------------------------------------

SHIFT:字符串整体或者字串进行转移.

如果SHIFT 操作的对象是C类型,则所有字节都会向前移动一位,最后一位用空格代替;如果SHIFT操作的对象是String类型,则所有字符都会向前移动一位,最后一位删除;SHIFT c .

SHIFT c BY n PLACES.

SHIFT c UP TO c1.

1* SHIFT c BY n PLACES 用法.

2DATA: t1(10) TYPE c VALUE 'abcdefghij',

3string1 LIKE t1.

4

5 string1 = t1.

6WRITE string1.

7SHIFT string1.

8WRITE / string1.

9 string1 = t1.

10SHIFT string1 BY3 PLACES LEFT.

11WRITE / string1.

12 string1 = t1.

13SHIFT string1 BY3 PLACES RIGHT.

14WRITE / string1.

15 string1 = t1.

16SHIFT string1 BY3 PLACES CIRCULAR.

17WRITE / string1.

-------------------------------------------------------- 输出结果:

abcdefghij “string1

bcdefghij

defghij

abcdefg

defghijabc

--------------------------------------------------------

1* SHIFT c UP TO c1

2DATA: t2(10) TYPE c VALUE 'abcdefghij',

3string2 LIKE t2,

4str2(2) TYPE c VALUE 'ef'.

5

6 string2 = t2.

7WRITE string2.

8SHIFT string2 UP TO str2.

9WRITE / string2.

10 string2 = t2.

11SHIFT string2 UP TO str2 LEFT.

12WRITE / string2.

13 string2 = t2.

14SHIFT string2 UP TO str2 RIGHT.

15WRITE / string2.

16 string2 = t2.

17SHIFT string2 UP TO str2 CIRCULAR.

18WRITE / string2.

--------------------------------------------------------

输出结果:

abcdefghij

efghij

efghij

abcdef

efghijabcd

--------------------------------------------------------

移除字符串左/右边的子字符串:

SHIFT c LEFT DELETEING LEADING c1.

SHIFT c RIGHT DELETEING TRAILING c1.

1* SHIFT c LEFT/RIGHT DELETEING LEADING c1 2DATA: t3(14) TYPE c VALUE 'abcdefghij',

3string3 LIKE t3,

4str3(6) TYPE c VALUE 'ghijkl'.

5

6 string3 = t3.

7WRITE string3.

8SHIFT string3 LEFT DELETING LEADING space. 9WRITE / string3.

10 string3 = t3.

11SHIFT string3 RIGHT DELETING TRAILING str3. 12WRITE / string3.

--------------------------------------------------------

输出结果:

abcdefghij

abcdefghij

abcdef

--------------------------------------------------------

CONDENSE:重新整合分配字符串.

CONDENSE c .

1* condensing strings

2DATA: string9(25) TYPE c VALUE ' one two three four', 3len9 TYPE i.

4

5 len9 = strlen( string9 ).

6WRITE: string9, '!'.

7WRITE: / 'Length: ', len9.

8CONDENSE string9.

9 len9 = strlen( string9 ).

10WRITE: string9, '!'.

11WRITE: / 'Length: ', len9.

12CONDENSE string9 NO-GAPS.

13 len9 = strlen( string9 ).

14WRITE: string9, '!'.

15WRITE: / 'Length: ', len9.

--------------------------------------------------------

输出结果:

one two three four !

Length: 25 one two three four !

Length: 18 onetwothreefour !

Length: 15

--------------------------------------------------------

TRANSLATE:实现字符串转换.

TRANSLATE c TO UPPER CASE.

TRANSLATE c TO LOWER CASE.

TRANSLATE c USING c1.

1* translating signs

2DATA: t5(10) TYPE c VALUE 'AbCdEfGhIj',

3string5 LIKE t5,

4rule5(20) TYPE c VALUE 'AxbXCydYEzfZ'.

5

6 string5 = t5.

7WRITE string5.

8TRANSLATE string5 TO UPPER CASE. "#EC SYNTCHAR 9WRITE / string5.

10 string5 = t5.

11TRANSLATE string5 TO LOWER CASE. "#EC SYNTCHAR 12WRITE / string5.

13 string5 = t5.

14TRANSLATE string5 USING rule5. "#EC SYNTCHAR

15WRITE / string5.

----------------------------------------------

输出结果:

AbCdEfGhIj

ABCDEFGHIJ

abcdefghij

xXyYzZGhIj

----------------------------------------------

TRANSLATE c … FROM CODE PAGE g1 … TO CODE PAGE g2. OVERLAY:参考字符串对空白字符进行填充.

OVERLAY c with c1.

REPLACE:字符串按条件取代.

REPLACE f … WITH g … INTO h.

1* replacing values

2DATA: t4(10) TYPE c VALUE 'abcdefghij',

3string4 LIKE t4,

4str41(4) TYPE c VALUE 'cdef',

5str42(4) TYPE c VALUE 'klmn',

6str43(2) TYPE c VALUE 'kl',

7str44(6) TYPE c VALUE 'klmnop',

8len4 TYPE i VALUE 2.

9

10 string4 = t4.

11WRITE string4.

12REPLACE str41 WITH str42 INTO string4.

13WRITE / string4.

14 string4 = t4.

15REPLACE str41 WITH str42 INTO string4 LENGTH len4. 16WRITE / string4.

17 string4 = t4.

18REPLACE str41 WITH str43 INTO string4.

19WRITE / string4.

20 string4 = t4.

21REPLACE str41 WITH str44 INTO string4.

22WRITE / string4.

----------------------------------------------

输出结果:

abcdefghij

abklmnghij

abklmnefgh

abklghij

abklmnopgh

--------------------------------------------------------

SERACH:搜索指定字符串. 通过SY_SUBRC取值得到查询结果. SERACH f FOR g.

[ABBREVIATED] : 从指定字符串中按顺序搜索相匹配字符串abbreviated [STARTING AT n1 ]:从字符串第n1个字符串开始搜索

[ENDING AT n2 ]:搜索到字符串第n2个字符为止

[AND MARK]:从指定字符串中模糊搜索相匹配字符串

1*searching strings

2DATA string7(30) TYPE c VALUE 'This is a little sentence.'.

3WRITE: / 'Searched', 'SY-SUBRC', 'SY-FDPOS'.

4

5ULINE /1(26).

6SEARCH string7 FOR'X'.

7WRITE: / 'X', sy-subrc UNDER 'SY-SUBRC',

8sy-fdpos UNDER 'SY-FDPOS'.

9SEARCH string7 FOR'itt '.

10WRITE: / 'itt ', sy-subrc UNDER 'SY-SUBRC',

11sy-fdpos UNDER 'SY-FDPOS'.

12SEARCH string7 FOR'.e .'.

13WRITE: / '.e .', sy-subrc UNDER 'SY-SUBRC',

14sy-fdpos UNDER 'SY-FDPOS'.

15SEARCH string7 FOR'*e'.

16WRITE: / '*e ', sy-subrc UNDER 'SY-SUBRC',

17sy-fdpos UNDER 'SY-FDPOS'.

18SEARCH string7 FOR's*'.

19WRITE: / 's* ', sy-subrc UNDER 'SY-SUBRC',

20sy-fdpos UNDER 'SY-FDPOS'.

----------------------------------------------

输出结果:

Searched SY-SUBRC SY-FDPOS

--------------------------------------------

X 4 0

itt 0 11

.e . 0 15

*e 0 10

s* 0 17

----------------------------------------------

1*

2DATA: string8(30) TYPE c VALUE 'This is a fast first example.',

3pos8 TYPE i,

4off8 TYPE i.

5

6WRITE / string8.

7SEARCH string8 FOR'ft' ABBREVIATED.

8WRITE: / 'SY-FDPOS:', sy-fdpos.

9 pos8 = sy-fdpos + 2.

10SEARCH string8 FOR'ft' ABBREVIATED STARTING AT pos8 AND MARK. 11WRITE / string8.

12WRITE: / 'SY-FDPOS:', sy-fdpos.

13 off8 = pos8 + sy-fdpos - 1.

14WRITE: / 'Off:', off8.

----------------------------------------------

输出结果:

This is a fast first example.

SY-FDPOS: 10

This is a fast FIRST example.

SY-FDPOS: 4

Off: 15

----------------------------------------------

SERACH itab FOR g.

[ABBREVIATED] : 从内表中按顺序逐行搜索相匹配字符串[STARTING AT line1 ]:从字符串第n1个字符串开始搜索[ENDING AT line2 ]:搜索最大范围到内表中具体某行[AND MARK]:从内表中模糊搜索相匹配字符串

字符串处理

实验1 字符串处理 1.1 实验内容 1. 下面程序输出有无问题,问题在什么地方 #include void main(){ char a[]=“\0”; 空字符串 puts(a); } 问题:____空____________________ 2. 写出程序运行结果,并运行证实 #include void main(){ char a[20]="abcdefgh"; 出现了两个结束标志 a[4]=’\0’; 默认第一个 puts(a); } 结果:_____abcd______________ 3. 指出下面程序中的错误 #include void main(){ char q[8]; strcpy(q, "love all "); printf("%s\n",q); } 4. 写出下面程序的功能,并运行验证。 #include #include void main(){ char str[100],t; int i,len; char t, *p1, *p2; scanf("%s",str); len=strlen(str); for(i=0;i

程序。 #include "stdio.h" void main(){ char a[100]; int i; gets(a); for(i=0;__a[I]!=0 ____;++i); 没有循环体,循环体为空printf("%d\n",i); }

C字符串处理函数全

strcpy(char destination[], const char source[]); strcpy:将字符串source拷贝到字符串destination中。 strcpy函数应用举例 原型:strcpy(char destination[], const char source[]); 功能:将字符串source拷贝到字符串destination中 例程: #include #include void main(void) { char str1[10] = { "TsinghuaOK"}; char str2[10] = { "Computer"}; cout < #include void main(void) { char str1[10] = { "Tsinghua "}; char str2[10] = { "Computer"}; cout <

abap简明教程

abap介绍 ABAP是一种高级企业应用编程语言(Advanced Business Application Progra mming),起源于20世纪80年代。经过不断的发展,现在的版本为ABAP/4,SAP R/3的应用程序就是用ABAP/4编写的。 ABAP/4是面向对象语言。它支持封装性和继承性。封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。 ABAP/4具有事件驱动的特性。 ABAP/4和COBOL具有类似之处。 ABAP/4适合生成报表。 ABAP/4支持对数据库的操作。 SAP最初开发ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程序员提供优化的工作环境。经过不断的改进和修改以满足商业领域的需要。现在,A BAP/4已成为SAP开发所有自己的应用程序的仅有工具。 SAP客户用ABAP/4进行其自身开发。这样的开发对R/3标准解决方案适应特殊问题非常重要。ABAP/4开发工作平台包含所有用于创建和维护ABAP/4程序的工具。 ABAP/4的可解释特性使其易于生成、测试并运行程序的中级版本,以便将来生成最终版本。此过程也叫做早期原形处理,意味着您不必丢弃中级版本。 ABAP/4是第四代支持结构化程序设计的语言。它合并了所有通常的控制结构和模块化概念。 在ABAP/4开发宝典中文版的第一部分,对ABAP/4的基本特性进行了详细描述。这些特性包括: ABAP/4 - 带有各种类型和结构的声明数据的声明元素 - 数据制作的操作元素 - 控制程序流的控制元素 - 反应外部事件的事件元素 ·ABAP/4支持多种语言。文本摘要(例如,标题、页眉和其他文本)将根据程序代码分别存储。您可以随时在不改变程序代码的情况下更改、转换和维护这些文本摘要。 ·ABAP/4支持商业数据类型和操作。您可以用特殊日期和时间字段进行计算。系统会自动执行必需的类型转换。 ·ABAP/4提供一系列功能处理字符串。 ·ABAP/4包含一个叫OpenSQL的SQL子集。用OpenSQL,您可以读取和访问数据库表,与所用的数据库系统无关。

字符串处理

字符串处理 B.基本题(SC6_5B.cpp) 【题目描述】 在主字符串中删除所有子字符串。打开SC6_5B.cpp文件,完成程序的编写。 【输入】 输入文件SC6_5B.in有2行,第1行是主字符串,第2行是子字符串。 【输出】 输出文件SC6_5B.out有1行,即删除所有子字符串后的主字符串。 【输入输出样例1】 2】 【输入输出样例 0≤字符串长度≤1000。 Code: #include "stdio.h" #include "string.h" const int N0=1000; char *index( char *s, char *sub )//在s中查找sub,找到返回首字符地址,找不到返回空{ int i=0, j=0; char *p=sub; if( *sub=='\0' )return NULL; //****************************************** for(i=0; i+strlen(sub)-1

} return NULL; //========================================== } int main() { char s[N0+1],sub[N0+1], *p, *q; int sublen; //freopen( "sc6_5b.in", "r", stdin); //freopen( "sc6_5b.out", "w", stdout); gets(s); gets(sub); sublen=strlen( sub ); while( p=index( s, sub ) ) { q=p+sublen; while( *p++=*q++ ); //在s中p的位置删除sub } puts(s); return 0; } C.拓展题(SC6_5C.cpp) 【题目描述】 输入3行字符串,分别是s字符串, t字符串和r字符串。如果s字符串中有包含t字符串,则用r字符串替换之。例如:s=“12aaabc3aaaaaabc#$%aaabc”,t=“aaabc”,r=“abc”,将s中的“aaabc”替换成“abc”之后,s=“12abc3aabc#$%abc”。输出替换之后的s字符串。打开SC6_5C.cpp文件,完成程序的编写。 【输入】 输入文件SC6_5C.in包含有3行字符串,分别是s字符串, t字符串和r字符串。 【输出】 输出文件SC6_5C.out将s字符串中包含的t字符串,用r字符串替换之,输出替换之后的s字符串。 0≤字符串长度≤1000。 Code:

ABAP常用函数

博客:https://www.doczj.com/doc/2b2991778.html,/u2/64908/article_85516.html 常用的系统变量如下: 1. SY-PAGNO当前页号 2. SY-DATUM当前时间 3. SY-LINSZ当前报表宽度 4. SY-LINCT当前报表长度 5. SPACE空字符 6. SY-SUBRC执行状态为0,表示成功. 7. SY-UNAME 用户名 8. SY-UZEIT当前时间 9. SY-TCODE当前的事务代码 10. SY-LSIND列表索引页 11. SY-LISTI上一个列表的索引 12. SY-LILLI绝对列表中选定行的行号 13. SY-CUROW屏幕上的行 14. SY-CUCOL光标列 15. SY-CPAGE列表的当前显示页 16. SY-STARO真实行号 17. SY-LISEL选择行的内容,长度为255 18. SY-LINNO当前行 19. SY-INDEX:做无条件循环是的次数值. 20. SY-FDPOS:子字符串在源串中的位置。 系统常用函数 21. SHIFT STRING:左移字符串。长度减1。 22 CONCATENATE 字符合并 23. SPLIT:拆分字符串。 24. SEARCH:查询字符串。 25. REPLACE:替换字符串。 26. CONDENSE:删除多余的空格。 27. TRANSLATE:转换字符格式,如将'ABC'转换为'ABC' 28. CONVERT TEXT:创建一个可排序的字符串。 29. OVERLAY:用一个字符串覆盖另一个字符串。 30. STRLEN:字符串长度。 31. ABS:取绝对值。 32. COS、SIN、TAN:取三角函数值。 33. ACOS、ASIN、A TAN:反三角函数。 34. COSH、SINH、TANH:双曲函数。 35. EXP:E的幂函数。 36. LOG:底数为E的对数。 37. LOG10:底数为10的对数。 38. SQRT:平方根。 39. SIGN:返回参数符号。

java 字符串常用函数及其用法

java中的字符串也是一连串的字符。但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理。将字符串作为内置的对象处理允许Java提供十分丰富的功能特性以方便处理字符串。下面是一些使用频率比较高的函数及其相关说明。 String相关函数 1)substring() 它有两种形式,第一种是:String substring(int startIndex) 第二种是:String substring(int startIndex,int endIndex) 2)concat() 连接两个字符串 例:String s="Welcome to "; String t=s.concat("AnHui"); 3)replace() 替换 它有两种形式,第一种形式用一个字符在调用字符串中所有出现某个字符的地方进行替换,形式如下: String replace(char original,char replacement) 例如:String s=”Hello”.replace(’l',’w'); 第二种形式是用一个字符序列替换另一个字符序列,形式如下: String replace(CharSequence original,CharSequence replacement) 4)trim() 去掉起始和结尾的空格 5)valueOf() 转换为字符串 6)toLowerCase() 转换为小写 7)toUpperCase() 转换为大写 8)length() 取得字符串的长度 例:char chars[]={’a',’b’.’c'}; String s=new String(chars); int len=s.length(); 9)charAt() 截取一个字符 例:char ch; ch=”abc”.charAt(1); 返回值为’b’ 10)getChars() 截取多个字符 void getChars(int sourceStart,int sourceEnd,char target[],int targetStart) sourceStart 指定了子串开始字符的下标 sourceEnd 指定了子串结束后的下一个字符的下标。因此,子串包含从sourceStart到sourceEnd-1的字符。

各种字符串处理函数示例(基本)

示例 1.字符串输出示例。 程序: #include void main(void) { char str[25]={"Welcome to our city!"}; puts(str); puts("Thank you!"); } 结果: 2.字符串输入实例。(注意比较gets与scanf和puts与printf的区别)程序: #include void main(main) { char str[20]; gets(str); puts(str); printf("*********\n"); scanf("%s",str); puts(str); } 结果: 3.测字符串长度函数strlen()的使用。 程序: #include #include void main(main) { char a[10]="program";

int x,y; x=strlen(a); y=strlen("abc13"); printf("%d\n%d\n\n",x,y); } 结果: 4.字符串连接函数的使用。 程序: #include #include void main(main) { char s1[20]="Hello",s2[6]="Word"; puts(s1); puts(s2); strcat(s1,s2); printf("%s\n",s1); } 结果: 修改后 程序: #include #include void main(main) { char s1[5]="Hello",s2[6]="Word"; puts(s1); puts(s2); strcat(s1,s2); printf("%s\n",s1); } 结果:

字符串处理函数大全

字符串处理函数大全 bcmp(比较内存内容)相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp 表头文件;include 定义函数;int bcmp ( const void *s1,const void * s2,int n); 函数说明;bcmp()用来比较s1和s2所指的内存区间前n个字节,若参数n为0,则返回0。返回值;若参数s1 和s2 所指的内存内容都完全相同则返回0 值,否则返回非零值。 附加说明;建议使用memcmp()取代。 范例:参考memcmp()。 //================================================================ bcopy(拷贝内存内容)相关函数 memccpy,memcpy,memmove,strcpy,ctrncpy 表头文件;#include 定义函数;void bcopy ( const void *src,void *dest ,int n); 函数说明;bcopy()与memcpy()一样都是用来拷贝src所指的内存内容前n个字节到dest所指的地址,不过参数src与dest在传给函数时是相反的位置。 返回值 ;附加说明建议使用memcpy()取代 范例 #include main() { char dest[30]=”string(a)”; char src[30]=”string\0string”; int i; bcopy(src,dest,30);/* src指针放在前*/ printf(bcopy(): “) for(i=0;i<30;i++) printf(“%c”,dest[i]); memcpy(dest src,30); /*dest指针放在钱*/ printf(…\nmemcpy() : “); for(i=0;i<30;i++) printf(“%c”,dest[i]); 执行 bcopy() : string string memcpy() :string sring //================================================================ bzero(将一段内存内容全清为零)相关函数 memset,swab 表头文件;#include 定义函数;void bzero(void *s,int n); 函数说明:bzero()会将参数s所指的内存区域前n个字节,全部设为零值。相当于调用memset((void*)s,0,size_tn); 返回值:附加说明建议使用memset取代

VB常用字符串操作函数解读

VB常用字符串操作函数2009/11/25 18:321. ASC(X,Chr(X:转换字符字符码[格式]: P=Asc(X 返回字符串X的第一个字符的字符码 P=Chr(X 返回字符码等于X的字符 [范例]:(1P=Chr(65 ‘ 输出字符A,因为A的ASCII码等于65 (2P=Asc(“A” ‘ 输出65 2. Len(X:计算字符串X的长度 [格式]: P=Len(X [说明]:空字符串长度为0,空格符也算一个字符,一个中文字虽然占用2 Bytes,但也算 一个字符。 [范例]: (1 令X=”” (空字符串 Len(X 输出结果为0 (2 令X=”abcd” Len(X 输出结果为4 (3 令X=”VB教程” Len(X 输出结果为4 3. Mid(X函数:读取字符串X中间的字符 [格式]: P=Mid(X,n 由X的第n个字符读起,读取后面的所有字符。 P=Mid(X,n,m 由X的第n个字符读起,读取后面的m个字符。 [范例]: (1 X=”abcdefg” P=Mid(X,5 结果为:P=”efg” (2 X=”abcdefg” P=Mid(X,2,4 结果为 P=”bcde” 4. R eplace: 将字符串中的某些特定字符串替换为其他字符串 [格式]: P=Replace(X,S,R [说明]:将字符串X中的字符串S替换为字符串R,然后返回。[范例]:X=”VB is very good” P=Replace(X,good,nice 输出结果为:P=”VB is very nice” 5. StrReverse:反转字符串 [格式]: P=StrReverse(X [说明]:返回X参数反转后的字符串 [范例]:(1)X=”abc” P=StrReverse(X 输出结果:P=”cba” 6. Ucase(X,Lcase(X:转换英文字母的大小写 [格式]:P=Lcase(X ‘ 将X字符串中的大写字母转换成小写P=Ucase(X ‘ 将X字符串中的小写字母转换成大写 [说明]:除了英文字母外,其他字符或中文字都不会受到影响。 [范例]:(1)令X=”VB and VC” 则Lcase(X的结果为”vb and vc”,Ucase(X的结果为”VB AND VC” 7. InStr函数:寻找字符串 [格式]: P=InStr(X,Y 从X第一个字符起找出Y出现的位置 P=InStr(n,X,Y 从X第n个字符起找出Y出现的位置 [说明]:(1)若在X中找到Y,则返回值是Y第一个字符出现在X中的位置。(2) InStr(X,Y相当于 InStr(1,X,Y。(3)若字符串长度,或X为空字符串,或在X中找不到Y,则都 返回0。(4)若Y为空字符串,则返回0。 ---------------------------------------------------------------------------------------------- mid(字符串,从第几个开始,长度 ByRef 在[字符串]中[从第几个开始]取出[长度个字符串] 例如 mid("小欣无敌",1,3 则返回 "小欣无" instr(从第几个开始,字符串1,字符串2 ByVal 从规定的位置开始查找,返回字符

字符串处理

字符串处理 1.常见的字符串操作的三种类型 (1)提取和删除字符串 这类处理是取出一个字符串中若干个字符串,基本的方法是:确定需要提取子串的开始位置以及子串的长度。如果题目没有明确给出子串的开始位置及长度的信息,那么可以使用pos函数找出子串前后两个空格的位置,从而确定相关信息。 提取子串:用copy函数将子串提取出来。删除子串:用delete过程直接将子串删除。 (2)字符转换 这类处理是将字符对应的ASCII码按规律进行运算,使该字符转换成另一个字符。我们可以使用ord函数求出某一字符的ASCII码,用chr函数将ASCII码转换成字符。 (3)数值与字符转换 在处理位数很多数值很大的数时,可能超过了整数和实数所能表示的最大范围,在这种情况下,只能采用字符串进行处理。可以使用str过程将数值类型的数据转换成字符串类型,使用val过程可将字符串型数据转换成数值类型。 2.字符串处理的注意事项 (1)读入字串长度如果超过255,则要用字符数组保存字符串。 (2)在分析程序的算法效率时,要注意考虑字符串处理的函数和过程的运行时间。 (3)读数据时,不确定字符行数和每行的字符个数时,可用行结束标记eoln和文件结束 标记eof来读数据。 3.常见的字符串过程和函数 (1)length(s)函数,求字符串s的长度。 (2)copy(s,w,k)函数,在字符串s中从w开始截取长度为k的子串。 (3)val(s,k,code)过程,将字符串s转为数值,存在k中,code返回出错的首位置。 (4)str(i,s)过程,将数值i转为字符串s。 (5)delete(s,w,k)过程,在s中删除从第w位开始的k个字符。 (6)insert(s1, s, w)过程,将s1插到s中第w位。 (7)pos(c, s)函数,求字符c在s中的起始位置。 (8)连接号“+”,将两个字符串连接起来。 (9)upcase(ch)过程,将字母ch转换成大写字母。

ABAP语法完整版

SAP ABAP / 4 基础知识学习 数据类型 C :字符串 D :日期型格式为 YYYYMMDD 例:'1999/12/03' F : 浮点数长度为8 I :整数 N :数值组成的字符串如:011,'302' P : PACKED数用于小数点数值如:12.00542 T : 时间格式为:HHMMSS 如:'14:03:00' X : 16进制数如:'1A03' *-------------------------------------------------------------------------------------* 变量声明 DATA [] [][decimals] 变量名称 变量类型及长度 初值 小数位数 exp: DATA : COUNTER TYPE P DECIMALS 3. NAME(10) TYPE C VALUE 'DELTA'. S_DATE TYPE D VALUE '19991203'. exp: DATA : BEGIN OF PERSON, NAME(10) TYPE C, AGE TYPE I, WEIGHT TYPE DECIMALS 2,

END OF PERSON. 另外,有关DATA声明的指令还有: CONSTANTS(声明常数)、STATICS(临时变量声明). exp: CONSTANTS PI TYPE P DECIMALS 5 VALUE '3.14159'. STATICS 关键字 声明的变量仅在目前的程序中使用, 结束后会自动释放 语法: STATICS [] [] [] 系统专用变量说明 系统内部专门创建了SYST这个STRUCTURE,里面的栏位存放系统变量,常用的系统变量有: SY-SUBRC: 系统执行某指令后,表示执行成功与否的变量,'0'表示成功 SY-UNAME: 当前使用者登入SAP的USERNAME; SY-DATUM: 当前系统日期; SY-UZEIT: 当前系统时间; SY-TCODE: 当前执行程序的Transaction code SY-INDEX: 当前LOOP循环过的次数 SY-TABIX: 当前处理的是internal table 的第几笔 SY-TMAXL: Internal table的总笔数 SY-SROWS: 屏幕总行数; SY-SCOLS: 屏幕总列数; SY-MANDT: CLIENT NUMBER SY-VLINE: 画竖线 SY-ULINE: 画横线 TYPE 关键字 用来指定资料型态或声明自定资料型态 Example: TYPES: BEGIN OF MYLIST,

字符串处理常用方法

C# string类应用 判断是否包含子串 想要判断一个字符串中是否包含某个子串,可以用Contains方法来实现: public bool Contains (string value) 参数value为待判定的子串。如果包含,返回true;否则返回false。下面的代码判断“Hello”中是否包含两个子串。 1.bool b1 = strA.Contains("ll"); //true 2.Bool b1=strA.Contains("MM"); //false 4.1.4 定位字符和子串 定位子串是指在一个字符串中寻找其中包含的子串或者某个字符。在String类中,常用的定位子串和字符的方法包括IndexOf/LastIndexOf及IndexOfAny/LastIndexOfAny,下面进行详细介绍。 1.IndexOf/LastIndexOf IndexOf方法用于搜索在一个字符串中,某个特定的字符或者子串第一次出现的位置,该方法区分大小写,并从字符串的首字符开始以0计数。如果字符串中不包含这个字符或子串,则返回-1。常用的重载形式如下所示。 (1)定位字符 int IndexOf(char value) int IndexOf(char value, int startIndex)

int IndexOf(char value, int startIndex, int count) (2)定位子串: int IndexOf(string value) int IndexOf(string value, int startIndex) int IndexOf(string value, int startIndex, int count) 在上述重载形式中,其参数含义如下: value:待定位的字符或者子串。 startIndex:在总串中开始搜索的其实位置。 count:在总串中从起始位置开始搜索的字符数。 下面的代码在“Hello”中寻找字符…l?第一次出现的位置。 代码4-7 使用IndexOf寻找字符第一次出现位置:Default.aspx.cs 1. String s=”Hello”; 2. int I = s.IndexOf(…l?)); //2 同IndexOf类似,LastIndexOf用于搜索在一个字符串中,某个特定的字符或者子串最后一次出现的位置,其方法定义和返回值都与IndexOf相同,不再赘述。 2.IndexOfAny/LastIndexOfAny IndexOfAny方法功能同IndexOf类似,区别在于,它可以搜索在一个字符串中,出现在一个字符数组中的任意字符第一次出现的位置。同样,该方法区分大小写,并从字符串的首字符开始以0计数。如果字符串中不包含这个字符或子串,则返回-1。常用的IndexOfAny 重载形式有3种:

acm常用字符串处理函数

sstrstr与strchar用法 原型:extern char *strstr(char *haystack, char *needle); 用法:#include 功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。 说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。 举例: #include #include main() { char *s="Golden Global View"; char *l="lob"; char *p; clrscr(); p=strstr(s,l); if(p) printf("%s",p); else printf("Not Found!"); getchar(); return 0; } 语法:int strstr(str1,str2) str1: 被查找目标string expression to search. str2:要查找对象The string expression to find. 该函数返回str2第一次在str1中的位置,如果没有找到,返回NULL The strstr() function returns the ordinal position within str1 of the first occurrence of str2. If str2 is not found in str1, strstr() returns 0. 例子: 功能:从字串” string1 onexxx string2 oneyyy”中寻找”yyy” (假设xxx和yyy都是一个未知的字串) char *s=” string1 onexxx string2 oneyyy”; char *p; p=strstr(s,”string2”); if(!p) printf(“Not Found!”); p=strstr(p,”one”); if(!p) printf(“Not Found!”); p+=strlen(“one”) printf(“%s”,p); 说明:如果直接写语句p=strstr(p,”one”),则找到的是xxx,不符合要求 所以需采用二次查找法找到目标

javascript字符串处理函数汇总

javascript字符串处理函数汇总 虽然JavaScript 有很多用处,但是处理字符串是其中最流行的一个。下面让我们深入地分析一下使用JavaScript 操作字符串。 在JavaScript 中,String 是对象。String 对象并不是以字符数组的方式存储的,所以我们必须使用内建函数来操纵它们的值。这些内建函数提供了不同的方法来访问字符串变量的内容。下面我们详细看一下这些函数。 操作字符串的值是一般的开发人员必须面临的家常便饭。操作字符串的具体方式有很多,比如说从一个字符串是提取出一部分内容来,或者确定一个字符串是否包含一个特定的字符。下面的JavaScript 函数为开发人员提供了他们所需要的所有功能: ? concat() –将两个或多个字符的文本组合起来,返回一个新的字符串。 ? indexOf() –返回字符串中一个子串第一处出现的索引。如果没有匹配项,返回-1 。 ? charA T() –返回指定位置的字符。 ? lastIndexOf() –返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1 。 ? match() –检查一个字符串是否匹配一个正则表达式。 ? substring() –返回字符串的一个子串。传入参数是起始位置和结束位置。 ? replace() –用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。 ? search() –执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回-1 。 ? slice() –提取字符串的一部分,并返回一个新字符串。 ? split() –通过将字符串划分成子串,将一个字符串做成一个字符串数组。

abap字符串操作语法总结

ABAP 字符串操作语法总结 CONCATENATE:合并字符串. CONCATENATE f1 … fn INTO g [SEPARATED BY h]. 1* CONCATENATE合并字符串 2DATA: c1(10) TYPE c VALUE 'Sum', 3c2(3) TYPE c VALUE 'mer', 4c3(5) TYPE c VALUE 'holi ', 5c4(10) TYPE c VALUE 'day', 6c5(30) TYPE c , 7sep(3) TYPE c VALUE ' - '. 8CONCATENATE c1 c2 c3 c4 INTO c5. 9WRITE c5. 10CONCATENATE c1 c2 c3 c4 INTO c5 SEPARATED BY sep. 11WRITE / c5. -------------------------------------------------------- 输出结果: Summerholiday Sum - mer - holi - day -------------------------------------------------------- SPLIT: 字符串拆分. SPLIT f AT g INTO h1 … hn. SPLIT f AT g INTO TABLE itable. 1* splitting strings 2DATA: string10(60) TYPE c , 3p1(20) TYPE c VALUE '++++++++++++++++++++', 4p2(20) TYPE c VALUE '++++++++++++++++++++', 5p3(20) TYPE c VALUE '++++++++++++++++++++', 6p4(20) TYPE c VALUE '++++++++++++++++++++', 7del10(3) TYPE c VALUE '***'. 8 string10 = ' Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5'. 9WRITE string10.

C语言字符串操作总结大全(超详细)

C语言字符串操作总结大全(超详细) 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串 strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1) 查找字符串 strpbrk(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找该集合的任一元素strspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找不属于该集合的任一元素的偏移 strcspn(p, p1) 以目标字符串的所有字符作为集合,在当前字符串查找属于该集合的任一元素的偏移 * 具有指定长度的字符串处理函数在已处理的字符串之后填补零结尾符 2)字符串到数值类型的转换 strtod(p, ppend) 从字符串p 中转换double 类型数值,并将后续的字符串指针存储到ppend 指向的char* 类型存储。 strtol(p, ppend, base) 从字符串p 中转换long 类型整型数值,base 显式设置转换的整型进制,设置为0 以根据特定格式判断所用进制,0x, 0X 前缀以解释为十六进制格式整型,0 前缀以解释为八进制格式整型 atoi(p) 字符串转换到int 整型 atof(p) 字符串转换到double 符点数 atol(p) 字符串转换到long 整型 3)字符检查 isalpha() 检查是否为字母字符 isupper() 检查是否为大写字母字符 islower() 检查是否为小写字母字符 isdigit() 检查是否为数字 isxdigit() 检查是否为十六进制数字表示的有效字符 isspace() 检查是否为空格类型字符 iscntrl() 检查是否为控制字符 ispunct() 检查是否为标点符号 isalnum() 检查是否为字母和数字 isprint() 检查是否是可打印字符 isgraph() 检查是否是图形字符,等效于isalnum() | ispunct()

ABAP学习笔记

ABAP学习笔记 一、ABAP语法简介: ABAP(Advanced business application program),是一种高级企业应用编程语言,它支持封装性和继承性,封装性是面向对象的基础,而继承性是建立在封装性基础上的重要特性。它适合生成报表,支持对数据库的操作,如:Sqlserver,Oracle,DB2等主流数据库系统。主要的语法有: 数据类型、控制流程、文本摘要、输出格式、程序调试 1、数据类型: (八种基本数据类型) D :日期类型,格式为YYYYMMDD,长度为8 T :时间类型,格式为HHMMSS,长度为6 I :整数类型,默认长度为4,初始值为0 F :浮点类型,默认长度为8,初始值为0,常用于计算 C :字符串类型,定义变量时指定字符个数 N :数字字符串类型,定义变量时指定数值字符个数 X :字节序列类型,定义变量时指定字节数 P(压缩号) :允许的长度为1 到16 个字节,系统会指定默认值8 个字节(也就是15 位数字)和0 个小数位常用:大小,长度,重量,货币等单位的场合. 2、输出格式: WRITE 'First line.'. WRITE 'Still first line.' WRITE / 'Second line.' WRITE /13 'Third line’. 3、控制流程: 使用IF的条件分支 IF <条件表达式1>. < statement block > ELSEIF <条件表达式2>. < statement block > ELSEIF <条件表达式3>. < statement block > ..... ELSE. < statement block > ENDIF. 使用CASE的条件分支

VBA,字符串处理大全

1 VBA中的字符串 2 VBA中处理字符串的函数 2.1 比较字符串 2.2 转换字符串 2.3 创建字符串 2.4 获取字符串的长度 2.5 格式化字符串 2.6 查找字符串 2.7 提取字符/字符串 2.8 删除空格 2.9 返回字符代码 2.10 返回数值代表的相应字符 2.11 使用字节的函数 2.12 返回数组的函数 2.13 连接字符串 2.14 替换字符串 2.15 反向字符串 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 VBA中的字符串 VBA不仅可以处理数字,也可以处理文本(字符串)。VBA提供了两类字符串: 一类为固定长度的字符串,声明时包含指字的字符数。例如,下面的语句 Dim strFixedLong As String*100 声明字符串变量后,无论赋予该变量多少个字符,总是只包含100个字符,但字符串最长不超过65526个字符,且需要使用Trim函数去掉字符串中多余的空格。定长字符串只有在必要时才使用。 另一类为动态字符串。例如,声明字符串变量Dim strDynamic As String后,可以给该变量任意赋值,最多可包含20亿个字符。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 VBA中处理字符串的函数 2.1 比较字符串 通常,在VBA中进行字符串比较时,会用到比较运算符(如=、>等)、Like运算符和StrComp 函数。此外,在模块的开头用Option Compare语句指定比较方式。 2.1.1 比较运算符 可以采用简单的逻辑运算符进行两个字符串的比较,即<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、=(等于)、<>(不等于)。此外,还可以使用Like运算符进行比较。2.1.2 StrComp函数 StrComp函数返回字符串比较的结果。其语法为: StrComp(string1,string2[,compare]) 其中,参数string1和strng2为必需的参数,可以是任何有效的字符串表达式。 参数Compare为可选参数,如果该参数为Null,将发生错误。如果参数Compare设置为常数vbUseCompareOption或-1或忽略该参数,将使用Option Compare语句设置进行比较;如果忽略该参数且没有设置Option Compare语句,则按二进制进行比较;如果参数Compare 设置为常数vbBinaryCompare或0,则用二进制进行比较;如果参数Compare设置为常数vbTextCompare或1,则按文本进行比较;如果参数Compare设置为常数vbDatabaseCompare

相关主题
文本预览
相关文档 最新文档