1. 程式人生 > >【JavaSE】String類擴充套件功能實現

【JavaSE】String類擴充套件功能實現

重複某個字元

//String類擴充套件功能實現
public class Strings{
     /**
     * 重複某個字元
     * 
     * 例如: 
     * 'a' 5   => "aaaaa"  
     * 'a' -1  => ""
     * 
     * @param c     被重複的字元
     * @param count 重複的數目,如果小於等於0則返回""
     * @return 重複字元字串
     */
    public static String repeat(char c, int count) {
       char
[] a = new char[count]; if(count>0){ for(int i= 0;i<count;i++){ a[i]=c; } }else{ return null; } String str1 = new String(a); return str1; }

字元填充於字串前

  /**
  * 將已有字串填充為規定長度,如果已有字串超過這個長度則返回這個字串
  * 字元填充於字串前
  *
  * 例如: 
  * "abc" 'A' 5  => "AAabc"
  * "abc" 'A' 3  => "abc"
  *
  * @param str        被填充的字串
  * @param filledChar 填充的字元
  * @param len        填充長度
  * @return 填充後的字串
  */
public static String fillBefore(String str, char filledChar, int len) { char[] charArray = str.toCharArray(); if(charArray.length==len){ return str; }else{ char[] b =new char[len]; for(int i = 0;i<len-charArray.length;i++){ b[i] =filledChar; } for(int i =
len-charArray.length;i<len;i++ ){ b[i] = charArray[i-len+charArray.length]; } String str1 = new String(b); return str1; } }

字元填充於字串後

 /**
  * 將已有字串填充為規定長度,如果已有字串超過這個長度則返回這個字串<br>
  * 字元填充於字串後
  * 例如: 
  * "abc" 'A' 5  => "abcAA"
  * "abc" 'A' 3  => "abc"
  *
  * @param str        被填充的字串
  * @param filledChar 填充的字元
  * @param len        填充長度
  * @return 填充後的字串
  */
 public static String fillAfter(String str, char filledChar, int len) {
 char[] charArray = str.toCharArray();
    if(charArray.length==len){
 	   return str;
    }else{
 	    char[] b =new char[len];
 	   for(int i = 0;i<charArray.length;i++){
 		   b[i] =charArray[i];
 	   }
 	   for(int i =charArray.length;i<len;i++ ){
 		   b[i] =filledChar;
 	   }
 	   String str1 = new String(b);
 		return str1;
    }
 }

移除字串中所有給定字串

   /**
    * 移除字串中所有給定字串
    * 例:removeAll("aa-bb-cc-dd", "-") => aabbccdd
    *
    * @param str         字串
    * @param strToRemove 被移除的字串
    * @return 移除後的字串
    */
   public static String removeAll(CharSequence str, CharSequence strToRemove) {
   	String str1 = str.toString();
   	String str2 = strToRemove.toString();
   	char[] charArray = str1.toCharArray();
   	char[] strtoremove = str2.toCharArray();
   	String a = "";
       for(int i = 0;i<charArray.length;i++){
   			if (charArray[i]!=strtoremove[0]){
   				a += charArray[i];}
   			}
   		return a;
   }

反轉字串

   /**
    * 反轉字串
    * 例如:abcd => dcba
    *
    * @param str 被反轉的字串
    * @return 反轉後的字串
    */
   public static String reverse(String str) {
   	char[] charArray = str.toCharArray();
   	char[] a = new char[charArray.length];
   	for(int i =0;i<charArray.length;i++ ){
   		a[i] =charArray[charArray.length-i-1];
   	}
       String str1 = new String(a);
   		return str1;
   }

測試

	public static void main(String[] args){
		char a = 'a';
		System.out.println(repeat(a,5));
		char b = 'A';
		System.out.println(fillBefore("abcd",b,6));
		char c = 'A';
		System.out.println(fillAfter("abcd",c,6));
		System.out.println(removeAll("aa-bb-cc-dd", "-"));
		System.out.println(reverse("abcd"));
		
	}
}

相關推薦

JavaSEString擴充套件功能實現

重複某個字元 //String類擴充套件功能實現 public class Strings{ /** * 重複某個字元 * * 例如: * 'a'

JavaString擴充套件功能實現

//String類擴充套件功能實現 public class Strings{ /** * 重複某個字元 * * 例如: * 'a' 5 => "aaaaa" * 'a' -1 => "" *

面試String構造和解構函式實現

已知String類定義如下: class String { public: String(const char *str = NULL); // 通用建構函式 String(const String &another); // 拷貝建構函式 ~ String();

javaString的基本方法

lastindex bool bsp sta substr 方法 相等 當前 start Java的String類基本方法 一、構造函數 函數 返回值 作用 String(byte[] bytes) String 通過byte數組構造字符串對象 String(

javaJava驗證碼功能實現

一、前言       驗證碼可以說在我們生活中已經非常普遍了,任何一個網站,任何一個App都會有這個功能,但是為啥要有這個呢?如何做才能做出來呢?下面小編會帶領大家一起用java完成一個驗證碼的功能。 二、驗證碼的作用       一般可以防止有人利用機器

C++String中的運算子過載

模組化設計: 標頭檔案: <span style="font-size:18px;">#ifndef operator_operator_h #define operator_op

JAVASE工具防止呼叫者例項化

工具類,開發中經常使用,可以實現方法和模組的更好的封裝,大家很多人呼叫的時候,對於一些人來說,很可能再去new一下。。。 一般採用的方法有兩種: 方法一: 把工具類定義為抽象類,抽象類是不可以被繼承的,但是我對這種方法持保留態度,因為很容易讓新手誤認為是用來繼承的。

QT化QThread實現多執行緒

- [《QThread原始碼淺析》](https://www.cnblogs.com/lcgbk/p/13940142.html) ***這個是本文章例項的原始碼地址:https://gitee.com/CogenCG/QThreadExample.git*** 子類化QThread來實現多執行緒, QT

JavaSEString

                                              .java.long.String類 1.String類的兩種例項化方式 a.直接賦值(直接賦值,在堆上分配空間) String str1 = "Hello World"; Sy

和父實現同一個接口的意義

style inf bottom 父類 100% csdn 一個 article mage 原文作者的疑惑和我的一模一樣...所以沒什麽好解釋的,直接截圖參考即可。原文鏈接:子類和父類實現同一個接口的意義 - CSDN博客 https://blog.csdn.net/s33

微信小程序實現微信支付功能(可用)

arr 必須 enc red use sam func 結束 單表 原博: https://blog.csdn.net/fredrik/article/details/79697963 微信小程序實現微信支付功能 直接把裏面的參數替換成你的就

Java學習String的常用操作

一、概述。      Java的常用字串型別為String,是一種引用型別(注意C++中的string為基本資料型別),準確來說為 java.lang.String。在String類中,存在許多已經寫好的處理字串的操作介面,所以,Java中對字串的操作十分簡單,一般

java小程式實戰小程式登出功能實現

小程式實戰中,如何實現程式的登出功能呢?後端程式碼只要刪除使用者的redi快取即可。小程式端在成功返回訊息後,進行登陸頁面的跳轉。 文章目錄 小程式的mine.wxml程式碼 mine.wxss程式碼 登出事件

SRH------node連線mongodb,實現增、刪、改、查功能

node連線mongodb 準備工作 1.在專案根目錄下   初始化倉庫,形成node包 npm init -y   2.下載mongodb包

Java編寫一個方法,實現基本的字串壓縮功能

利用重複字元出現的次數,編寫一個方法,實現基本的字串壓縮功能。 例如,字串aabcccccaaa會變為a2b1c5a3。若壓縮後的字串沒有變短,則返回原先的字串。 StringBuffer: 如果頻繁地對字串進行拼接,直接用“+”的話會建立很多String型的物件,對伺服器

小家javaString為什麼要設計成final?不可變有什麼優點?

相關閱讀 原始碼解釋: 先貼一下String類的申明程式碼: public final class String implements java.io.Serializable, Comparable<String>, CharSeque

ssm個人部落格專案實戰03左側導航選單功能實現

先說一下具體的功能就是當我們點選左側選單選項時,右側主介面會顯示對應的內容。 也就是說每當我們點選左側導航選單就等於打開了一個新的頁面只不過它是選項卡的形式顯示在center中。 開啟easyUI API手冊搜尋 tabs 由於每一個選單選項單

079利用“剪葉子”演算法實現樹形結構的搜尋功能,用Vue.js實現

業務場景 工作中碰到這樣的一個場景:需要對一個樹形結構進行搜尋,凡是匹配的節點都要保留。如果這個匹配的節點存在父節點,那麼不論這個父節點是否匹配搜尋內容,都要保留,並按照樹形結構展示出來。如果一個節點既不匹配搜尋內容,同時也沒有匹配搜尋內容的子節點,那麼該節點

LeetCodeTreeNode實現解析(java實現

在LeetCode中,TreeNode是經常用到的一個結構體,表示資料結構樹(Tree)中的一個節點。其官方定義如下: public class TreeNode { int val; TreeNode left; TreeNo

QT化QObject+moveToThread實現多執行緒

往期連結: - [《QThread原始碼淺析》](https://www.cnblogs.com/lcgbk/p/13940142.html) - [《子類化QThread實現多執行緒》](https://www.cnblogs.com/lcgbk/p/13946793.html) 本文章例項的原始碼地址:h