検索
ホームページJava&#&チュートリアルJavaで文字列からスペースを削除する方法は何ですか?

Java では、文字列からスペースを削除するさまざまな方法 (trimreplaceAll など) があります。ただし、JDK 11 には、stripstripLeadingstripTrailing などのいくつかの新機能が追加されています。

文字列からスペースを削除するメソッドはいくつありますか? 以下では、サードパーティ ツール ライブラリの同様のメソッドを除く、JDK のネイティブ メソッドを紹介します。

  • trim() : 文字列の先頭と末尾のスペースを削除します。

  • strip() : 文字列の先頭と末尾のスペースを削除します。

  • stripLeading() : 文字列の先頭のスペースのみを削除します

  • stripTrailing() : 文字列の末尾のスペースのみを削除します

  • ##replace() : 対象の文字をすべて新しい文字に置き換えます

  • #replaceAll()

    : 一致するすべての文字を新しい文字に置き換えます。このメソッドは、置換する必要があるターゲット部分文字列を識別するための正規表現を入力として受け取ります。

  • replaceFirst()

    : ターゲット部分文字列の最初の発生時のみを置換します。文字は新しい文字列に置き換えられます

  • 注意すべき最も重要なことは、Java では String オブジェクトは不変です。つまり、文字列を変更できないため、上記のすべてのメソッドで新しい文字列が得られます。

trim()

trim()

は、文字列 <pre class='brush:php;toolbar:false;'>public class StringTest { public static void main(String[] args) { String stringWithSpace = &quot; Hello word java &quot;; StringTest.trimTest(stringWithSpace); } private static void trimTest(String stringWithSpace){ System.out.println(&quot;Before trim : \&amp;#39;&quot; + stringWithSpace + &quot;\&amp;#39;&quot;); String stringAfterTrim = stringWithSpace.trim(); System.out.println(&quot;After trim : \&amp;#39;&quot; + stringAfterTrim + &quot;\&amp;#39;&quot;); } }</pre>## の先頭と末尾にあるスペースを削除するために Java 開発者によって最も一般的に使用されるメソッドです。 #出力結果

トリム前 : 'Hello word java '

トリム後 : 'Hello word java'


トリムメソッドを使用すると、先頭と末尾が元の文字列からスペースが削除されています。実際、trim によって削除される空白文字は、ASCII 値が 32 (’ U 0020 ') 以下の任意の文字を指します:

strip()Javaで文字列からスペースを削除する方法は何ですか?

JDK 11

のリリースでは、文字列から先頭と末尾のスペースを削除するための新しい

strip() メソッドが追加されました。 trim

メソッドは、ASCII 値が 32 以下の文字のみを削除できますが、Unicode 標準によれば、ASCII の文字に加えて、他にも多くの空白が存在します。文字。

そして、これらのスペース文字を認識するために、Java 1.5 以降、新しい isWhitespace(int) メソッドが Character クラスに追加されました。このメソッドは Unicode を使用してスペース文字を識別します。

Java 11 で新しく追加されたstrip メソッドは、Character.isWhitespace(int) メソッドを使用して空白文字かどうかを判断し、空白文字を削除します。 Javaで文字列からスペースを削除する方法は何ですか?

##strip exampleJavaで文字列からスペースを削除する方法は何ですか?

public class StringTest {
 
    public static void main(String args[]) {
 
      String stringWithSpace =&#39;\u2001&#39; + "  Hello word java  " + &#39;\u2001&#39;;
 
        System.out.println("&#39;" + &#39;\u2001&#39; + "&#39; is space : " +  Character.isWhitespace(&#39;\u2001&#39;));
 
        StringTest.stripTest(stringWithSpace);
 
    }
 
    private static void stripTest(String stringWithSpace){
 
        System.out.println("Before strip : \&#39;" + stringWithSpace + "\&#39;");
 
        String stringAfterTrim = stringWithSpace.strip();
 
        System.out.println("After strip : \&#39;" + stringAfterTrim + "\&#39;");
 
    }
 
}

result

Javaで文字列からスペースを削除する方法は何ですか?

' はスペース : true

Before ストリップ : 'Hello word java '

After ストリップ : 'Hello word java'

Java 11 のstrip()
メソッドは
trim()# より高速です ## メソッドはより強力です。ASCII にない多くの空白文字を削除できます。判定方法は、

Character.isWhitespace()
メソッドを使用します。

#trim() メソッドとstrip() メソッドの違いtrim

strip

Java 1 の導入ASCII を使用する削除先頭と末尾の空白文字ASCII 値が ’U 0020’ または ’32&rsquo 以下の文字を削除します;

stripLeading() 和 stripTrailing()

stripLeading()stripTrailing()方法也都是在Java 11中添加的。作用分别是删除字符串的开头的空格以及删除字符串的末尾的空格。
stripLeadingstripTrailing也使用Character.isWhitespace(int)来标识空白字符。用法也和strip类似:

public class StringTest {
 
    public static void main(String args[]) {
 
      String stringWithSpace =&#39;\u2001&#39; + "  Hello word java  " + &#39;\u2001&#39;;
 
        System.out.println("&#39;" + &#39;\u2001&#39; + "&#39; is space : " +  Character.isWhitespace(&#39;\u2001&#39;));
 
        StringTest.stripLeadingTest(stringWithSpace);
 
        StringTest.stripTrailingTest(stringWithSpace);
 
    }
 
 
    private static void stripLeadingTest(String stringWithSpace){
        System.out.println("删除开头的空白字符");
 
        System.out.println("Before stripLeading : \&#39;" + stringWithSpace + "\&#39;");
 
        String stringAfterTrim = stringWithSpace.stripLeading();
 
        System.out.println("After stripLeading : \&#39;" + stringAfterTrim + "\&#39;");
 
    }
 
 
     private static void stripTrailingTest(String stringWithSpace){
         System.out.println("删除结尾的空白字符");
 
        System.out.println("Before stripTrailing : \&#39;" + stringWithSpace + "\&#39;");
 
        String stringAfterTrim = stringWithSpace.stripTrailing();
 
        System.out.println("After stripTrailing : \&#39;" + stringAfterTrim + "\&#39;");
 
    }
 
}

输出结果:

' ' is space : true
删除开头的空白字符
Before stripLeading : '   Hello word java   '
After stripLeading : 'Hello word java   '
删除结尾的空白字符
Before stripTrailing : '   Hello word java   '
After stripTrailing : '   Hello word java'

replace

replace是从java 1.5中添加的,可以用指定的字符串替换每个目标子字符串。

此方法替换所有匹配的目标元素

 public class StringTest {
 
    public static void main(String args[]) {
 
        String stringWithSpace ="  Hello word java  ";
 
        StringTest.replaceTest(stringWithSpace);
 
    }
 
 
 
    private static void replaceTest(String stringWithSpace){
 
        System.out.println("Before replace : \&#39;" + stringWithSpace + "\&#39;");
 
        String stringAfterTrim = stringWithSpace.replace(" ", "");
 
        System.out.println("After replace : \&#39;" + stringAfterTrim + "\&#39;");
 
    }
 
}

结果:

Before replace : '  Hello word java  '
After replace : 'Hellowordjava'

使用replace方法可以替换掉字符串中的所有空白字符。需要特别注意的是,和trim方法一样,replace方法只能替换ASCII中的空白字符。

replaceAll

replaceAll是Jdk 1.4中添加的最强大的字符串操作方法之一。我们可以将这种方法用于许多目的。
使用replaceAll()方法,我们可以使用正则表达式来用来识别需要被替换的目标字符内容。使用正则表达式,就可以实现很多功能,如删除所有空格,删除开头空格,删除结尾空格等等。

\s+   所有的空白字符
^\s+      字符串开头的所有空白字符
\s+$      字符串结尾的所有空白字符

在java中要添加\我们必须使用转义字符,所以对于\s+ 我们必须使用 \\s+

replaceAll(regex, “”); // 将正则表达式匹配到的内容,替换为""

public class StringTest {
 
    public static void main(String args[]) {
 
        String stringWithSpace ="  Hello word java  ";
 
        StringTest.replaceAllTest(stringWithSpace," ");
 
        StringTest.replaceAllTest(stringWithSpace,"\\s+");
 
        StringTest.replaceAllTest(stringWithSpace,"^\\s+");
 
        StringTest.replaceAllTest(stringWithSpace,"\\s+$");
 
    }
 
 
    private static void replaceAllTest(String stringWithSpace,String regex){
 
        System.out.println("Before replaceAll with &#39;"+ regex +"&#39;: \&#39;" + stringWithSpace + "\&#39;");
 
        String stringAfterTrim = stringWithSpace.replaceAll(regex, "");
 
        System.out.println("After replaceAll with &#39;"+ regex +"&#39;: \&#39;" + stringAfterTrim + "\&#39;");
 
    }
 
}

Before replaceAll with ' ': '  Hello word java  '
After replaceAll with ' ': 'Hellowordjava'
Before replaceAll with '\s+': '  Hello word java  '
After replaceAll with '\s+': 'Hellowordjava'
Before replaceAll with '^\s+': '  Hello word java  '
After replaceAll with '^\s+': 'Hello word java  '
Before replaceAll with '\s+$': '  Hello word java  '
After replaceAll with '\s+$': '  Hello word java'

replaceFirst

replaceFirst方法也是在jdk1.4中添加的,它只将给定正则表达式的第一个匹配项替换为替换字符串。

public class StringTest {
 
    public static void main(String args[]) {
 
        String stringWithSpace ="  Hello word java  ";
 
        StringTest.replaceFirstTest(stringWithSpace," ");
 
        StringTest.replaceFirstTest(stringWithSpace,"\\s+");
 
        StringTest.replaceFirstTest(stringWithSpace,"^\\s+");
 
        StringTest.replaceFirstTest(stringWithSpace,"\\s+$");
 
    }
 
 
    private static void replaceFirstTest(String stringWithSpace,String regex){
 
        System.out.println("Before replaceFirst with &#39;"+ regex +"&#39;: \&#39;" + stringWithSpace + "\&#39;");
 
        String stringAfterTrim = stringWithSpace.replaceFirst(regex, "");
 
        System.out.println("After replaceFirst with &#39;"+ regex +"&#39;: \&#39;" + stringAfterTrim + "\&#39;");
 
    }
 
}

结果:

Before replaceFirst with ' ': '  Hello word java  '
After replaceFirst with ' ': ' Hello word java  '
Before replaceFirst with '\s+': '  Hello word java  '
After replaceFirst with '\s+': 'Hello word java  '
Before replaceFirst with '^\s+': '  Hello word java  '
After replaceFirst with '^\s+': 'Hello word java  '
Before replaceFirst with '\s+$': '  Hello word java  '
After replaceFirst with '\s+$': '  Hello word java'

Java 11 の導入
Unicode 値を使用する
先頭と末尾の空白文字を削除
unicode に従ってすべての空白文字を削除します

以上がJavaで文字列からスペースを削除する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
JVMはオペレーティングシステムAPIの違いをどのように処理しますか?JVMはオペレーティングシステムAPIの違いをどのように処理しますか?Apr 27, 2025 am 12:18 AM

JVMは、JavanativeInterface(JNI)およびJava Standard Libraryを介してオペレーティングシステムのAPIの違いを処理します。1。JNIでは、Javaコードがローカルコードを呼び出し、オペレーティングシステムAPIと直接対話できます。 2. Java Standard Libraryは統一されたAPIを提供します。これは、異なるオペレーティングシステムAPIに内部的にマッピングされ、コードがプラットフォーム間で実行されるようにします。

Java 9で導入されたモジュール性は、プラットフォームの独立性にどのように影響しますか?Java 9で導入されたモジュール性は、プラットフォームの独立性にどのように影響しますか?Apr 27, 2025 am 12:15 AM

modularitydoesnotdirectlyectlyectjava'splatformindepensence.java'splatformendepenceismaindainededainededainededaindainedaindained bythejvm、butmodularityinfluencesApplucationStructure andmanagement、間接的なインパクチャプラット形成依存性.1)

ByteCodeとは何ですか?また、Javaのプラットフォームの独立性とどのように関係していますか?ByteCodeとは何ですか?また、Javaのプラットフォームの独立性とどのように関係していますか?Apr 27, 2025 am 12:06 AM

bytecodeinjavaisthe intermediaterepresentationthateNablesplatformindepence.1)javacodeis compiledintobytecodestoredin.classfiles.2)thejvminterpretsorcompilesthisbytecodeintomachinecodeatime、

Javaがプラットフォームに依存しない言語と見なされるのはなぜですか?Javaがプラットフォームに依存しない言語と見なされるのはなぜですか?Apr 27, 2025 am 12:03 AM

javaachievesplatformedenceTheTheTheJavavirtualMachine(JVM)、これは、javacodeisisisisisissompiledIntobytecode.2)javaCodeisisisisissompiledevedevicetecode.2)

グラフィカルユーザーインターフェイス(GUI)は、Javaのプラットフォーム独立性の課題をどのように提示できますか?グラフィカルユーザーインターフェイス(GUI)は、Javaのプラットフォーム独立性の課題をどのように提示できますか?Apr 27, 2025 am 12:02 AM

Javagui開発におけるプラットフォームの独立性は課題に直面していますが、Swing、Javafx、統一外観、パフォーマンス最適化、サードパーティライブラリ、クロスプラットフォームテストを使用することで対処できます。 Javaguiの開発は、クロスプラットフォームの一貫性を提供することを目的としたAWTとSwingに依存していますが、実際の効果はオペレーティングシステムごとに異なります。ソリューションには以下が含まれます。1)SwingおよびJavafxをGUIツールキットとして使用します。 2)uimanager.setlookandfeel()を介して外観を統合します。 3)さまざまなプラットフォームに合わせてパフォーマンスを最適化します。 4)ApachepivotやSWTなどのサードパーティライブラリを使用する。 5)一貫性を確保するために、クロスプラットフォームテストを実施します。

Java開発のどの側面がプラットフォームに依存していますか?Java開発のどの側面がプラットフォームに依存していますか?Apr 26, 2025 am 12:19 AM

javadevelopmentisnotentirelylylypratform-IndopentDuetoseveralfactors.1)jvmvariationsaffectperformanceandbehavioracrossdifferentos.2)nativeLibrariesviajniintroducePlatform-specificissues.3)giaiasystemsdifferbeTioneplateplatifflics.4)

さまざまなプラットフォームでJavaコードを実行するときにパフォーマンスの違いはありますか?なぜ?さまざまなプラットフォームでJavaコードを実行するときにパフォーマンスの違いはありますか?なぜ?Apr 26, 2025 am 12:15 AM

Javaコードは、さまざまなプラットフォームで実行するときにパフォーマンスの違いがあります。 1)JVMの実装と最適化戦略は、OracleJDKやOpenJDKなどとは異なります。 2)メモリ管理やスレッドスケジューリングなどのオペレーティングシステムの特性もパフォーマンスに影響します。 3)適切なJVMを選択し、JVMパラメーターとコード最適化を調整することにより、パフォーマンスを改善できます。

Javaのプラットフォームの独立性の制限は何ですか?Javaのプラットフォームの独立性の制限は何ですか?Apr 26, 2025 am 12:10 AM

java'splatformindepentedencehaslimitationsincludingporformanceoverhead、versioncompatibulisisues、changleSwithnativeLibraryIntegration、プラットフォーム固有の機能、およびjvminStallation/maintenation。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。