Java開發筆記(三十六)字元串的常用方法

来源:https://www.cnblogs.com/pinlantu/archive/2018/12/12/10111426.html
-Advertisement-
Play Games

不管是給字元串賦值,還是對字元串格式化,都屬於往字元串填充內容,一旦內容填充完畢,則需開展進一步的處理。譬如一段Word文本,常見的加工操作就有查找、替換、追加、截取等等,按照字元串的處理結果異同,可將這些操作方法歸為三大類,分別說明如下。一、判斷字元串是否具備某種特征該類方法主要用來判斷字元串是否 ...


不管是給字元串賦值,還是對字元串格式化,都屬於往字元串填充內容,一旦內容填充完畢,則需開展進一步的處理。譬如一段Word文本,常見的加工操作就有查找、替換、追加、截取等等,按照字元串的處理結果異同,可將這些操作方法歸為三大類,分別說明如下。
一、判斷字元串是否具備某種特征
該類方法主要用來判斷字元串是否滿足某種條件,返回true代表條件滿足,返回false代表條件不滿足。判斷方法的調用代碼示例如下:

		String hello = "Hello World. ";
		// isEmpty方法判斷該字元串是否為空串
		boolean isEmpty = hello.isEmpty();
		System.out.println("isEmpty = "+isEmpty);
		// equals方法判斷該字元串是否與目標串相等
		boolean equals = hello.equals("你好");
		System.out.println("equals = "+equals);
		// startsWith方法判斷該字元串是否以目標串開頭
		boolean startsWith = hello.startsWith("Hello");
		System.out.println("startsWith = "+startsWith);
		// endsWith方法判斷該字元串是否以目標串結尾
		boolean endsWith = hello.endsWith("World");
		System.out.println("endsWith = "+endsWith);
		// contains方法判斷該字元串是否包含了目標串
		boolean contains = hello.contains("or");
		System.out.println("contains = "+contains);

 

運行以上的判斷方法代碼,得到以下的日誌信息:

isEmpty = false
equals = false
startsWith = true
endsWith = false
contains = true

  

二、在字元串內部進行條件定位
該類方法與字元串的長度有關,要麼返回指定位置的字元,要麼返回目標串的所在位置。定位方法的調用代碼如下所示:

		String hello = "Hello World. ";
		// length方法返回該字元串的長度
		int length = hello.length();
		System.out.println("length = "+length);
		// charAt方法返回該字元串在指定位置的字元
		char first = hello.charAt(0);
		System.out.println("first = "+first);
		// indexOf方法返回目標串在該字元串中第一次找到的位置
		int index = hello.indexOf("l");
		System.out.println("index = "+index);
		// lastIndexOf方法返回目標串在該字元串中最後一次找到的位置
		int lastIndex = hello.lastIndexOf("l");
		System.out.println("lastIndex = "+lastIndex);

 

運行以上的定位方法代碼,得到以下的日誌信息:

length = 13
first = H
index = 2
lastIndex = 9

  

三、根據某種規則修改字元串的內容
該類方法可對字元串進行局部或者全部的修改,並返回修改之後的新字元串。內容變更方法的調用代碼舉例如下:

		String hello = "Hello World. ";
		// toLowerCase方法返迴轉換為小寫字母的字元串
		String lowerCase = hello.toLowerCase();
		System.out.println("lowerCase = "+lowerCase);
		// toUpperCase方法返迴轉換為大寫字母的字元串
		String upperCase = hello.toUpperCase();
		System.out.println("upperCase = "+upperCase);
		// trim方法返回去掉首尾空格後的字元串
		String trim = hello.trim();
		System.out.println("trim = "+trim);
		// concat方法返回在末尾添加了目標串之後的字元串
		String concat = hello.concat("Fine, thank you.");
		System.out.println("concat = "+concat);
		// substring方法返回從指定位置開始截取的子串。只有一個輸入參數的substring,從指定位置一直截取到源串的末尾
		String subToEnd = hello.substring(6);
		System.out.println("subToEnd = "+subToEnd);
		// 有兩個輸入參數的substring方法,返回從開始位置到結束位置中間截取的子串
		String subToCustom = hello.substring(6, 9);
		System.out.println("subToCustom = "+subToCustom);
		// replace方法返回目標串替換後的字元串
		String replace = hello.replace("l", "L");
		System.out.println("replace = "+replace);

 

運行以上的內容變更方法代碼,得到以下的日誌信息:

lowerCase = hello world. 
upperCase = HELLO WORLD. 
trim = Hello World.
concat = Hello World. Fine, thank you.
subToEnd = World. 
subToCustom = Wor
replace = HeLLo WorLd. 

  

更多Java技術文章參見《Java開發筆記(序)章節目錄


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 過濾器模式 一、什麼是過濾器模式   過濾器模式(Filter Pattern),這種模式允許開發人員使用不同的標準來過濾一組對象,通過邏輯運算以解耦的方式把它們連接起來。這種類型的設計模式屬於結構型模式,它結合多個標準來獲得單一標準。 二、具體實現 1、主要角色 過濾對象:需要 ...
  • 一、簡介 以下引用自百度百科 Matplotlib 是一個 Python 的 2D繪圖庫,它以各種硬拷貝格式和跨平臺的互動式環境生成出版質量級別的圖形 。 通過 Matplotlib,開發者可以僅需要幾行代碼,便可以生成繪圖,直方圖,功率譜,條形圖,錯誤圖,散點圖等。 二、流程 1. 明確要研究的問 ...
  • 本文將介紹使用框架mybatis開發原始Dao層來對一個對資料庫進行增刪改查的案例。 本次使用的mybatis版本為mybatis-3.2.7,開發工具為eclipse,資料庫為mysql,jdk版本jdk1.8.0_151。 1、首先,使用eclipse新建一個java工程,在lib目錄下加入my ...
  • 在c++中我們很容易遇到字元串的分割處理問題,這種問題通常比較容易,但由於我比較菜,花費了一定時間去思考一個和字元串相關的題,該題的大概思路是利用取模運算後,將得到的單個字元進行分析,主要考察到了字元串的合併操作,明日計劃30學習c++。 ...
  • ss -l ...
  • Python基礎知識(30):圖形界面(Ⅰ) Python支持多種圖形界面的第三方庫:Tk、wxWidgets、Qt、GTK等等 Tkinter可以滿足基本的GUI程式的要求,此次以用Tkinter為例進行GUI編程 一、編寫一個GUI版本的“Hello, world!” 本人使用的軟體是pycha ...
  • CDQ分治小結 warning:此文僅用博主複習使用,初學者看的話後果自負。。 複習的時候才發現以前根本就沒寫過這種東西的總結,簡單的扯一扯 cdq分治的經典應用就是解決偏序問題 比如最經典的三維偏序問題 給出$n$個數,每個數$i$,有三個屬性$a_i, b_i, c_i$,現在我們要統計對於每個 ...
  • 說起裝飾器我們可能已經很熟悉了(不瞭解的可以查看python基礎學習——裝飾器),隨手就可以寫一個簡單的裝飾器 def decorator(func): def inner(*args, **kwargs): # 執行函數前做點事 result = func(*args, **kwargs) # 執 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...