插入字符代码:

public class Test {

/**在原字符中插入新字符**/

public static void main(String[] args){

StringBuffer sb = new StringBuffer("田田是一个女生!");//建立一个字符缓存区,缓存区中的内容为"田田是一个女生!"

System.out.println("原字符缓存区中的内容为:"+sb);//输出原字符缓存区中的内容

System.out.println("原字符缓存区中的长度为:"+sb.length() );//长度

System.out.println("原字符缓存区中的容量为:"+sb.capacity() );//容量

sb.insert(5, '小');//给指定下标位置前的值赋新值

System.out.println("新字符缓存区中的内容为:"+sb);//输出新字符缓存区中的内容

System.out.println("新字符缓存区中的长度为:"+sb.length() );//长度

System.out.println("新字符缓存区中的容量为:"+sb.capacity() );//容量

}

}

解释:sb.insert(5, ‘小');//给指定下标位置前的值赋新值,意思为在sb的第6个字符前插入‘小'字,5为字符缓存区下标的位置,和数组相同都是从0开始。

运行结果:

原字符缓存区中的内容为:田田是一个女生!

原字符缓存区中的长度为:8

原字符缓存区中的容量为:24

新字符缓存区中的内容为:田田是一个小女生!

新字符缓存区中的长度为:9

新字符缓存区中的容量为:24

/**********************************/ /**********************************/

插入字符串代码:

public class Test {

/**在原字符中插入新字符**/

public static void main(String[] args){

StringBuffer sb = new StringBuffer("田田是一个女生!");//建立一个字符缓存区,缓存区中的内容为"田田是一个女生!"

System.out.println("原字符缓存区中的内容为:"+sb);//输出原字符缓存区中的内容

System.out.println("原字符缓存区中的长度为:"+sb.length() );//长度

System.out.println("原字符缓存区中的容量为:"+sb.capacity() );//容量

sb.insert(5, "刚满18岁的");//给指定下标位置前的值赋一个字符串

System.out.println("新字符缓存区中的内容为:"+sb);//输出新字符缓存区中的内容

System.out.println("新字符缓存区中的长度为:"+sb.length() );//长度

System.out.println("新字符缓存区中的容量为:"+sb.capacity() );//容量

}

}

运行结果:

原字符缓存区中的内容为:田田是一个女生!

原字符缓存区中的长度为:8

原字符缓存区中的容量为:24

新字符缓存区中的内容为:田田是一个刚满18岁的女生!

新字符缓存区中的长度为:14

新字符缓存区中的容量为:24

总结:

sb.insert(5, '小')是给在字符串sb的第6个字符前插入‘小'字;

sb.insert(5, "刚满18岁的");是给在字符串sb的第6个字符前插入字符串"刚满18岁的";

注意:字符用‘',字符串用""

补充知识:java格式化字符串,在指定位置插入指定字符串,兼容中英文以及特殊字符,例如:换行,用于解决生成pdf换行问题等问题

原因: 由于html转pdf时,不能自动换行,因此才有下面的代码.

注释:完全模拟html页面的自动换行!

最后的页面展示效果:每一行的长度都一样,看上去像

的自动换行一样

package test;

import java.io.UnsupportedEncodingException;

/**

* 解决pdf换行问题,在指定位置插入指定字符串,兼容中英文以及特殊字符

*

* @author xg君

*

*/

public class app {

public static void main(String[] args) throws UnsupportedEncodingException {

System.out.println(addStr(10, "
", "as阿萨德dsa阿斯蒂芬fladadasdsjf阿斯蒂芬ljdsljkjlfdsklfd啥地方都是skljdsasfasdfads"));

}

/**

* 插入方法

*

* @param num

* 每隔几个字符插入一个字符串(中文字符)

* @param splitStr

* 待指定字符串

* @param str

* 原字符串

* @return 插入指定字符串之后的字符串

* @throws UnsupportedEncodingException

*/

public static String addStr(int num, String splitStr, String str) throws UnsupportedEncodingException {

StringBuffer sb = new StringBuffer();

String temp = str;

int len = str.length();

while (len > 0) {

int idx = getEndIndex(temp, num);

sb.append(temp.substring(0, idx + 1)).append(splitStr);

temp = temp.substring(idx + 1);

len = temp.length();

}

return sb.toString();

}

/**

* 两个数字/英文

*

* @param str

* 字符串

* @param num

* 每隔几个字符插入一个字符串

* @return int 最终索引

* @throws UnsupportedEncodingException

*/

public static int getEndIndex(String str, double num) throws UnsupportedEncodingException {

int idx = 0;

double val = 0.00;

// 判断是否是英文/中文

for (int i = 0; i < str.length(); i++) {

if (String.valueOf(str.charAt(i)).getBytes("UTF-8").length >= 3) {

// 中文字符或符号

val += 1.00;

} else {

// 英文字符或符号

val += 0.50;

}

if (val >= num) {

idx = i;

if (val - num == 0.5) {

idx = i - 1;

}

break;

}

}

if (idx == 0) {

idx = str.length() - 1;

}

return idx;

}

}

效果:

以上这篇java在原字符中插入新字符或字符串实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

java字符插入_java在原字符中插入新字符或字符串实例相关推荐

  1. eclipse java web乱码_JAVA and JAVA WEB with TOMCAT and ECLIPSE 学习过程中遇到的字符乱码问题及解决方法汇总(随时补充)...

    JAVA语言具有跨平台,unicode字符集编码的特点. 但是在开发过程中处理数据时涉及到的字符编码问题零零散散,尤其是处理中文字符时一不留神就可能出现一堆奇奇怪怪的符号,俗称乱码. 对于乱码,究其原 ...

  2. 批量修改图片名称(去掉原名字中的中文字符和空格)

    python批量修改图片名称,去掉原名字中的中文字符和空格 如名字:KJG-A电泵冷油器泄漏4-20190219161731 (1).jpg-->KJG-A4-20190219161731(1) ...

  3. word2013插入excel对象报错_excel插入对象文件夹 Excel2013中插入对象文件的方法

    excel插入对象文件夹 Excel2013中插入对象文件的方法,最近到了季度汇报的时候,掌握一手excel技能在此刻显得多么重要,为了是你的excel看起来更高大上,今天教大家设置excel插入对象 ...

  4. word2013插入excel对象报错_使用Excel中的插入对象功能在Excel中插入Word文档

    使用Excel中的插入对象功能在Excel中插入Word文档 时间:2016-05-17   作者:snow   来源:互联网 使用Excel中的插入对象功能,就可以很容易地在Excel中插入Word ...

  5. java如何使显示字符下标_Java如何在 Word 中设置上、下标

    上标是指比同一行中其他文字稍高的文字,而下标是指比同一行中其他文字稍低的文字.在生活中,我们常见的平方米.立方米等符号以及化学中的各种元素符号,都是利用上.下标来表示的.本文将介绍通过Free Spi ...

  6. html设置无效字符,使用innerHTML属性向head中插入字符时报“无法设置 innerHTML 属性。 该操作的目标元件无效”的错误...

    向head中动态插入script文件,代码如下: var sc = document.createElement("script"); sc.src = "//www.c ...

  7. java string 截取_java string 怎样截取前n个字符?的解决方案列表

    展开全部 java string 怎样截取前n个字符一般有两种方法: 方法一:使用如下代码: s=32313133353236313431303231363533e78988e69d833133336 ...

  8. java统计文件字符数量_Java统计文件注释个数和注释字符数

    我把文件一行一行地存入到了动态数组 list中,然后删除list里面的注释和输出语句.其中countNote是算注释个数的,charInNote是算注释的总字符数的.可是最后得到的list存在很多问题 ...

  9. java 中文解码_java使用URLDecoder和URLEncoder对中文字符进行编码和解码

    摘要: URLDecoder 和 URLEncoder 用于完成普通字符串 和 application/x-www-form-urlencoded MIME 字符串之间的相互转换.在本文中,我们以使用 ...

最新文章

  1. Windows 2003 服务器播放FLV的问题解决
  2. 文件输入输出和string流
  3. Python学习笔记:Day 10 用户注册和登陆
  4. ubuntu安装QT4的方法
  5. rabbitmq怎样确认是否已经消费了消息_阿里Java研发二面:了解RabbitMQ?说说RabbitMQ可靠性投递...
  6. (王道408考研操作系统)第四章文件管理-第一节6:文件基本操作
  7. .NET日志工具介绍
  8. GNU make manual 翻译(四十二)
  9. 常见排序算法的python实现
  10. paip.mysql error2003 Can''t connect to MySQL server on localhost (10061)的解决
  11. Exchange 2016 CU3 安装失败解决方法
  12. 网吧计费系统数据库修复/网吧收银系统数据库恢复
  13. Go 开发关键技术指南 | 带着服务器编程金刚经走进 2020 年(内含超全知识大图)
  14. Unity5.3官方VR教程重磅登场-系列5 VR中的运动
  15. 我对“结构化思维”的理解 - 直播分享
  16. mysql ndb存储引擎_Cluster的NDB存储引擎
  17. OpenStack-Ironic裸金属简介
  18. 英语阅读正确率太低,有必要每篇都精读吗?
  19. open-falcon judge组件报Hbs.GetStrategies: call hbs timeout问题
  20. kk音标导读(下):赖世雄老师26个英语字母导读示范 (附我备注)

热门文章

  1. Python--海龟先生送给大家的海草舞
  2. python中的choices函数_用choices给命令行参数设置范围
  3. kotlin实现坦克大战
  4. 内置机械键盘游戏本,你要选iFunk S
  5. Redis--秒杀的解决方案
  6. 【DescribeFeatureType】WFS 服务支持的要素类型的描述
  7. Python静态网页爬虫----文字小说爬虫
  8. 2022年卡塔尔世界杯直播在哪里观看?电视盒子、投影仪攻略总结
  9. 湖北省经信委与用友建设工业云平台
  10. 闲鱼X-Sign算法闲鱼抓包方法