最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java在原字符中插入新字符或字符串實(shí)例

 更新時(shí)間:2020年08月25日 08:45:34   作者:以自由之名  
這篇文章主要介紹了java在原字符中插入新字符或字符串實(shí)例,具有很好的價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

插入字符代碼:

public class Test {
  
 /**在原字符中插入新字符**/
  public static void main(String[] args){
  
  StringBuffer sb = new StringBuffer("田田是一個(gè)女生!");//建立一個(gè)字符緩存區(qū),緩存區(qū)中的內(nèi)容為"田田是一個(gè)女生!"
  System.out.println("原字符緩存區(qū)中的內(nèi)容為:"+sb);//輸出原字符緩存區(qū)中的內(nèi)容
  System.out.println("原字符緩存區(qū)中的長度為:"+sb.length() );//長度
  System.out.println("原字符緩存區(qū)中的容量為:"+sb.capacity() );//容量
  
  sb.insert(5, '小');//給指定下標(biāo)位置前的值賦新值
  
  System.out.println("新字符緩存區(qū)中的內(nèi)容為:"+sb);//輸出新字符緩存區(qū)中的內(nèi)容
  System.out.println("新字符緩存區(qū)中的長度為:"+sb.length() );//長度
  System.out.println("新字符緩存區(qū)中的容量為:"+sb.capacity() );//容量  
  }  
}

解釋:sb.insert(5, ‘小');//給指定下標(biāo)位置前的值賦新值,意思為在sb的第6個(gè)字符前插入‘小'字,5為字符緩存區(qū)下標(biāo)的位置,和數(shù)組相同都是從0開始。

運(yùn)行結(jié)果:

原字符緩存區(qū)中的內(nèi)容為:田田是一個(gè)女生!

原字符緩存區(qū)中的長度為:8

原字符緩存區(qū)中的容量為:24

新字符緩存區(qū)中的內(nèi)容為:田田是一個(gè)小女生!

新字符緩存區(qū)中的長度為:9

新字符緩存區(qū)中的容量為:24

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

插入字符串代碼:

public class Test {
  
 /**在原字符中插入新字符**/
  public static void main(String[] args){
  
  StringBuffer sb = new StringBuffer("田田是一個(gè)女生!");//建立一個(gè)字符緩存區(qū),緩存區(qū)中的內(nèi)容為"田田是一個(gè)女生!"
  System.out.println("原字符緩存區(qū)中的內(nèi)容為:"+sb);//輸出原字符緩存區(qū)中的內(nèi)容
  System.out.println("原字符緩存區(qū)中的長度為:"+sb.length() );//長度
  System.out.println("原字符緩存區(qū)中的容量為:"+sb.capacity() );//容量
  
  sb.insert(5, "剛滿18歲的");//給指定下標(biāo)位置前的值賦一個(gè)字符串
  
  System.out.println("新字符緩存區(qū)中的內(nèi)容為:"+sb);//輸出新字符緩存區(qū)中的內(nèi)容
  System.out.println("新字符緩存區(qū)中的長度為:"+sb.length() );//長度
  System.out.println("新字符緩存區(qū)中的容量為:"+sb.capacity() );//容量  
 
  }  
}

運(yùn)行結(jié)果:

原字符緩存區(qū)中的內(nèi)容為:田田是一個(gè)女生!

原字符緩存區(qū)中的長度為:8

原字符緩存區(qū)中的容量為:24

新字符緩存區(qū)中的內(nèi)容為:田田是一個(gè)剛滿18歲的女生!

新字符緩存區(qū)中的長度為:14

新字符緩存區(qū)中的容量為:24

總結(jié):

sb.insert(5, '小')是給在字符串sb的第6個(gè)字符前插入‘小'字;

sb.insert(5, "剛滿18歲的");是給在字符串sb的第6個(gè)字符前插入字符串"剛滿18歲的";

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

補(bǔ)充知識:java格式化字符串,在指定位置插入指定字符串,兼容中英文以及特殊字符,例如:換行,用于解決生成pdf換行問題等問題

原因: 由于html轉(zhuǎn)pdf時(shí),不能自動(dòng)換行,因此才有下面的代碼.

注釋:完全模擬html頁面的自動(dòng)換行!

最后的頁面展示效果:每一行的長度都一樣,看上去像<td></td>的自動(dòng)換行一樣

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, "<br/>", "as阿薩德dsa阿斯蒂芬fladadasdsjf阿斯蒂芬ljdsljkjlfdsklfd啥地方都是skljdsasfasdfads"));
 }

 /**
  * 插入方法
  * 
  * @param num
  *   每隔幾個(gè)字符插入一個(gè)字符串(中文字符)
  * @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();
 }

 /**
  * 兩個(gè)數(shù)字/英文
  * 
  * @param str
  *   字符串
  * @param num
  *   每隔幾個(gè)字符插入一個(gè)字符串
  * @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在原字符中插入新字符或字符串實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中大數(shù)據(jù)推薦算法使用場景分析

    Java中大數(shù)據(jù)推薦算法使用場景分析

    在Java中實(shí)現(xiàn)大數(shù)據(jù)推薦算法時(shí),通常會使用一些開源的機(jī)器學(xué)習(xí)庫,如Apache Mahout、Weka、DL4J(DeepLearning4j,用于深度學(xué)習(xí))或者Spark MLlib(用于在Spark集群上運(yùn)行),這篇文章主要介紹了Java中可以用的大數(shù)據(jù)推薦算法,需要的朋友可以參考下
    2024-06-06
  • 關(guān)于同一個(gè)service調(diào)用service本身的方法

    關(guān)于同一個(gè)service調(diào)用service本身的方法

    這篇文章主要介紹了關(guān)于同一個(gè)service調(diào)用service本身的方法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • MyBatis與Hibernate等ORM框架的區(qū)別及說明

    MyBatis與Hibernate等ORM框架的區(qū)別及說明

    MyBatis和Hibernate是Java中流行的ORM框架,各有特點(diǎn):MyBatis采用半自動(dòng)SQL映射,提供細(xì)粒度的SQL控制,適合復(fù)雜查詢和性能優(yōu)化;Hibernate采用全自動(dòng)對象關(guān)系映射,提供較高的開發(fā)效率,適合簡單的CRUD操作,選擇哪種框架應(yīng)根據(jù)項(xiàng)目需求、團(tuán)隊(duì)技術(shù)棧和個(gè)人偏好來決定
    2025-03-03
  • Spring?Cloud?Eureka(全面解析)?大白話

    Spring?Cloud?Eureka(全面解析)?大白話

    這篇文章主要介紹了Spring?Cloud?Eureka(全面解析)?大白話,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 使用Java實(shí)現(xiàn)qq郵箱發(fā)送郵件

    使用Java實(shí)現(xiàn)qq郵箱發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了使用Java實(shí)現(xiàn)qq郵箱發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2010-05-05
  • Springboot Thymeleaf數(shù)字對象使用方法

    Springboot Thymeleaf數(shù)字對象使用方法

    這篇文章主要介紹了Springboot Thymeleaf數(shù)字對象使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2007-09-09
  • SpringBoot下使用定時(shí)任務(wù)的方式全揭秘(6種)

    SpringBoot下使用定時(shí)任務(wù)的方式全揭秘(6種)

    這篇文章主要介紹了SpringBoot下使用定時(shí)任務(wù)的方式全揭秘(6種),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • MyBatisPlus中事務(wù)處理的實(shí)現(xiàn)

    MyBatisPlus中事務(wù)處理的實(shí)現(xiàn)

    本文主要介紹了MyBatisPlus中事務(wù)處理的實(shí)現(xiàn),包括事務(wù)的開啟、提交、回滾等操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • 深入淺出分析Java 類和對象

    深入淺出分析Java 類和對象

    面向?qū)ο竽耸荍ava語言的核心,是程序設(shè)計(jì)的思想。Java語言的面向?qū)ο蠹夹g(shù)包括了面向?qū)ο蠛兔嫦蜻^程的基本概念,面向?qū)ο蟮奶卣鳎琂ava語言的類,對象,修飾符,抽象類等一系列的知識點(diǎn)
    2022-03-03
  • 詳解Springboot如何通過注解實(shí)現(xiàn)接口防刷

    詳解Springboot如何通過注解實(shí)現(xiàn)接口防刷

    本文主要為大家介紹一種極簡潔、靈活通用接口防刷實(shí)現(xiàn)方式、通過在需要防刷的方法加上@Prevent?注解即可實(shí)現(xiàn)短信防刷,感興趣的可以了解一下
    2022-09-09

最新評論

庆云县| 罗江县| 科尔| 明星| 佛山市| 潜山县| 永登县| 临澧县| 定西市| 南昌县| 基隆市| 肇东市| 沙洋县| 永仁县| 宕昌县| 浪卡子县| 雅江县| 南阳市| 高青县| 吉隆县| 玛多县| 确山县| 蓬莱市| 呼和浩特市| 宜兰市| 阳西县| 黄山市| 汉阴县| 滦南县| 耒阳市| 巴彦县| 荔波县| 拜泉县| 平利县| 云和县| 永清县| 柳州市| 高台县| 蚌埠市| 惠安县| 自贡市|