append、replace、replaceAll、indexof、lastIndexOf、substring的用法

1.append

StringBuffer buf = new StringBuffer("Hard ");

String  aString  =  "Waxworks";

buf.append(aString,3,4);

结果:"Hard w"

buf.append(aString,3,4);

结果为:"Hard work"

append s_content.append("</description>").append("\n");
2.replace和replaceAll

replace fileurl = fileurl.replace("../", "");//去掉../

1>replace的参数是char和CharSequence,既可以支持字符替换,也可以支持字符串替换。
2>replaceall参数是regex, replacement,regex表示是正则表达式。

replace :
String src = new String("ab43a2c43d");

System.out.println(src.replace("3","f"));=>ab4f2c4fd.

System.out.println(src.replace('3','f'));=>ab4f2c4fd.

System.out.println(src.replaceAll("\\d","f"));=>abffafcffd.

System.out.println(src.replaceAll("a","f"));=>fb43fc23d.

System.out.println(src.replaceFirst("\\d,"f"));=>abf32c43d

System.out.println(src.replaceFirst("4","h"));=>abh32c43d.
1
2
3
4
5
6
7
8
9
10
11
12
13
java 替换文本内容中的html标签:
String str="<html><h1>sdfsdfsdf</h1><img src=\"1.png\"></img></html>测试<p>测试</p>";
String abc = str.replaceAll("<[a-zA-Z]+[1-9]?[^><]*>", "").replaceAll("</[a-zA-Z]+[1-9]?>", "");
System.out.println(abc);
1
2
3
结果:

sdfsdfsdf测试测试
1
如何将字符串中的”\”替换成”\”:
String msgIn;

String msgOut;

msgOut=msgIn.replaceAll(“\\”,”\\\\”);
原因:
  ‘\’在java中是一个转义字符,所以需要用两个代表一个。例如System.out.println( “\” ) ;只打印出一个”\”。但是’\’也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要用两个代表一个。所以:\\被java转换成\,\又被正则表达式转换成\。
同样
  CODE: \\\\
  Java: \\
  Regex: \
将字符串中的’/’替换成’\’的几种方式:

msgOut= msgIn.replaceAll(“/”, “\\”);

msgOut= msgIn.replace(“/”, “\”);

msgOut= msgIn.replace(‘/’, ‘\’);

3.lastIndexOf和indexof

  • indexOf 和  lastIndexOf 是什么?
  •   indexOf 和 lastIndexOf 都是索引文件
  •   indexOf 是查某个指定的字符串在字符串首次出现的位置(索引值) (也就是从前往后查)
  •        lastIndexOf 是从右向左查某个指定的字符串在字符串中最后一次出现的位置(也就是从后往前查)
  •        eg:      
  • 注意:  
  • 那么问题来了 两个不是一前一后相反方向还是查么?怎么他们两个返回的索引值相同呢? 
  • 因为:lastIndexOf()方法虽然是从后往前搜索,但返回的位置是从前开始数数和计算的,所以结果和indexOf()方法返回的相同

             接下来在看一个例子:

          

  •    这个时候两个返回的索引值就不同了
  •    因为: 前面已经说了indexOf是从前向后查  而lastIndexOf是从后向前查   但是二者返回索引都是从前开始数数和计算的

 

  • 总结:
  •    当数组(字符串)中所要查询的数(字符串/字符)在字符串(数组)中只出现一次的时候 二者返回的索引值相同
  •    当数组(字符串)中所要查询的数(字符串/字符)在字符串(数组)中出现两次及以上的时候  
  •       indexOf  返回的是 valuesearch 第一次在数组(字符串)出现的位置(从左往右)
  •       lastIndexOf 返回的是 valuesearch 最后一次在数组(字符串)出现的位置(从左往右)《只不过查询的方向不同而已》

4.substring

  • beginIndex -- 起始索引(包括), 索引从 0 开始。

  • endIndex -- 结束索引(不包括)

案例获取文件的结尾名

fileurl = fileurl.replace("../", "");//去掉../
log.info("==== fileurl:"+fileurl); // upload/shjz_db/2019/04/28/dfs_1_01_99_1556436628795_shjz_db_y5v9y5l2J4q6.jpg
//获取文件扩展名
int index = field_file.get("fileurl").lastIndexOf(".");
log.info("==== index:"+index); //75
String result = field_file.get("fileurl").substring(index + 1);
log.info("==== result:"+result);//jpg

转载于:https://www.cnblogs.com/tongcc/p/11011962.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ABAP中的append lines of是将一组数据添加到内部表的末尾。它可以通过以下方式实现: 1. 定义一个内部表和一个结构体,结构体包含要添加的数据字段。 2. 使用APPEND LINES OF语句将结构体添加到内部表的末尾。 例如,以下代码将一个结构体添加到名为my_table的内部表的末尾: DATA: BEGIN OF my_struct, field1 TYPE string, field2 TYPE i, END OF my_struct. DATA: my_table TYPE TABLE OF my_struct. my_struct-field1 = 'Hello'. my_struct-field2 = 123. APPEND LINES OF my_struct TO my_table. ### 回答2: ABAP中的"append lines of"语句用于将一个内表的行添加到另一个内表中。 该语句的语法如下: APPEND LINES OF <internal table1> TO <internal table2>. 其中,<internal table1>是源内表,<internal table2>是目标内表。 使用"append lines of"语句可以实现以下功能: 1. 将一个内表的行添加到另一个内表中。例如,如果内表A中有3行,内表B中有5行,通过"append lines of A to B"语句,将会把内表A中的3行添加到内表B中,最终内表B将有8行。 2. 可以在循环语句内使用"append lines of"语句来动态向一个内表中添加行。例如,在一个循环过程中,每次迭代可以生成一行数据,并将该行数据添加到一个内表中,最终形成一个完整的内表。 3. "append lines of"语句还可以用于合并多个内表。可以先将多个内表中的数据按照一定的逻辑合并到一个内表中,以便后续的处理和展示。 需要注意的是,使用"append lines of"语句在目标内表的末尾添加行。如果目标内表为空,则源内表的所有行都将被添加到目标内表中。 总之,"append lines of"语句可以方便地实现内表之间的行合并操作,使得内表的处理更加灵活和高效。 ### 回答3: 在ABAP编程语言中,“append lines of”是一种操作,用于添加行到内部表(Internal Table)中。 内部表是一种用于存储数据的数据结构,类似于数据库中的表格。在编程过程中,我们常常需要将获取到的数据存储到内部表中,以便于后续处理和操作。 使用“append lines of”语句,我们可以将一组数据行添加到现有的内部表的末尾。这些数据行可以来源于其他的内部表、数据库表或者其他数据源。通过这种方式,我们可以将不同来源的数据整合到一张内部表中,方便后续的分析和处理。 在使用“append lines of”时,需要注意以下几点: 1. 目标内部表和源内部表的结构必须一致,即字段和字段类型要匹配。否则,添加数据可能会导致类型错误或异常。 2. 在执行“append lines of”之前,需要对目标内部表进行初始化。可以使用“clear”命令来清空内部表中的数据,也可以使用“create data”来创建一个新的内部表。如果目标内部表未初始化,则添加的数据会导致内部表混乱。 3. 使用“append lines of”语句时,可以一次添加多行数据。如果源内部表中有多行数据,它们将依次添加到目标内部表的末尾。 总之,“append lines of”是一种在ABAP编程中常用的操作,用于将数据行添加到内部表的末尾。通过这种方式,我们可以将多个数据源的数据整合到一个内部表中,以便于后续处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值