Heim Java javaLernprogramm Einführung in String-Operationen in Java (Codebeispiel)

Einführung in String-Operationen in Java (Codebeispiel)

Feb 11, 2019 am 11:23 AM
java

Dieser Artikel bietet Ihnen eine Einführung in String-Operationen in Java (Codebeispiele). Ich hoffe, dass er für Freunde hilfreich ist.

1. String-Operation String-Klasse

Übersicht

String ist ein spezieller Referenzdatentyp, er ist endgültig Klasse.

2. Konstruktionsmethode

String str = "abc";

entspricht: char date[] = {'a',' b ','c'};

String str = new String{data};

3. Hauptmethode

char charAt(int index ) Gibt den Wert am angegebenen Index von char zurück.

boolean enthält(CharSequence s) Gibt genau dann „true“ zurück, wenn die Zeichenfolge die angegebene Zeichenwertsequenz enthält

boolean equal(Object anObject) Vergleicht die Teilzeichenfolge mit dem angegebenen Objekt

int indexOf(int ch) Gibt den Indexwert des ersten Vorkommens des angegebenen Zeichens zurück

int length() Gibt die Länge der Zeichenfolge zurück, die hauptsächlich für Schleifenbeendigungsbedingungen verwendet wird

boolesche Übereinstimmungen (String-Regex) Bestimmen Sie, ob ein String mit dem angegebenen regulären Ausdruck übereinstimmt

String replace(char oldChar,char newChar) Ersetzen Sie alle oldChar im String durch newChar

String split(String-Regex) Teilen Sie den string gemäß den Regeln

String subString(int beginIndex) Gibt den String nach dem beginindex-Index des Strings zurück

String toLowerCase() Ersetzen Sie alle Großbuchstaben im String. Wechseln Sie zu Kleinbuchstaben

String toUpperCase() Alle Kleinbuchstaben in der Zeichenfolge in Großbuchstaben ändern

String trim() Alle führenden und nachgestellten Leerzeichen aus der Zeichenfolge entfernen und

/*Typkonvertierung* zurückgeben /
statischer String valueOf(boolean b)
Gibt die boolesche String-Form des booleschen Parameters zurück.
statischer String-WertOf(char c)
Gibt die String-Char-Form des char-Parameters zurück.
static String valueOf(char[] data)
Gibt die String-Char-Form des char-Array-Parameters zurück.
static String valueOf(char[] data, int offset, int count)
Gibt die String-Char-Form eines bestimmten Subarrays des char-Array-Parameters zurück.
statischer String-WertOf(double d)
Gibt die String-Double-Form des Double-Parameters zurück.
statischer String-WertOf(float f)
Gibt die String-Float-Form des Float-Parameters zurück.
statischer String valueOf(int i)
Gibt die String-Int-Form des int-Parameters zurück.
statischer String-WertOf(long l)
Gibt die String-Langform des Long-Parameters zurück.
statischer String-WertOf(Object obj)
Gibt die String-Objektform des Objektparameters zurück.

Hinweis: Der Unterschied zwischen der String-Zeichenfolge „==" und der Equals-Methode:

Wenn sie über String str = „“ deklariert wird, können sowohl == als auch equal verwendet werden 🎜>

Wenn es durch einen neuen String ("") deklariert wird, kann == nicht verwendet werden, es können nur Gleichheiten verwendet werden.

4. Demonstrationsfall

Anforderung 1: Zählen Sie die Anzahl der Großbuchstaben, Kleinbuchstaben und Zahlen in einer Zeichenfolge

Idee: Führen Sie die Zeichenfolge durch eine for-Schleife, verwenden Sie die charAt-Methode, um jedes Zeichen abzurufen, und vergleichen Sie dann jedes Zeichen mit dem Wert, der dem AsciI-Code entspricht, um festzustellen, ob es sich um einen Großbuchstaben, einen Kleinbuchstaben oder eine Zahl handelt, und drucken Sie die Anzahl aus.

/**
 * @ author: PrincessHug
 * @ date: 2019/2/7, 17:09
 * @ Blog: https://www.cnblogs.com/HelloBigTable/
 */
public class StringAPIDemo {
    /**
     * 需求:计算字符串中大写字母、小写字母、数字出现的次数
     * @param args 参数
     */
    public static void main(String[] args) {
        //通过用户输入得到一个字符串
        String str = getString();
        getCount(str);
    }
    private static void getCount(String str) {
        int upperNum = 0;
        int lowerNum = 0;
        int digit = 0;
        for (int i = 0;i< str.length();i++){
            char c = str.charAt(i);
            /**
             * AscII码数字1-9(48-57),A-Z(65-91),a-z(97-123)
             */
            if (c>=48 && c<=57){
                digit++;
            }
            if (c>=65 && c<=91){
                upperNum++;
            }
            if (c>=97 && c<=123){
                lowerNum++;
            }
        }
        System.out.println("数字出现的次数为:" + digit);
        System.out.println("大写字母出现的次数为:" + upperNum);
        System.out.println("小写字母出现的次数为:" + lowerNum);
    }
    private static String getString() {
        System.out.println("请输入一个字符串:");
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        return s;
    }
}
Nach dem Login kopieren

Anforderung 2: Fragen Sie die Anzahl der Vorkommen einer bestimmten Teilzeichenfolge in der übergeordneten Zeichenfolge ab

Idee 1: Verwenden Sie die indexOf-Methode, um den Index a des ersten Vorkommens der Teilzeichenfolge abzufragen, und dann verwenden subString Die Methode gibt die Zeichenfolge nach dem übergeordneten Zeichenfolgenindex (a + Teilzeichenfolgenlänge) zurück und zählt +1. Schleife diesen Vorgang, bis der Rückgabewert der indexOf-Methode -1 ist, und halte an, erhalte einfach den Zählwert.

Idee 2: Verwenden Sie die Split-Methode, um die übergeordnete Zeichenfolge in Teilzeichenfolgen aufzuteilen, um ein String-Array zu erhalten. Verwenden Sie die SubString-Methode, um zu ermitteln, ob die letzte Zeichenfolge der übergeordneten Zeichenfolge mit der Teilzeichenfolge übereinstimmt das String-Array. Wenn nicht, wird die Länge 1 des String-Arrays zurückgegeben.

**
 * @ author: PrincessHug
 * @ date: 2019/2/7, 17:34
 * @ Blog: https://www.cnblogs.com/HelloBigTable/
 */
public class FindChildStringCount {
    /**
     * 需求:查询父字符串中某一个子字符串的数量
     * @param args
     */
    public static void main(String[] args) {
        String parent = "itstar123qweritstar()%%dfitstarsdgji";
        String child = "itstar";

        int num1 = getChildStringCount01(parent, child);
        int num2 = getChildStringCount02(parent,child);
        int num3 = getChildStringCount03(parent,child);
        System.out.println("方法一:" + num1 + "次。");
        System.out.println("方法二:" + num2 + "次。");
        System.out.println("方法三:" + num3 + "次。");
    }

    private static int getChildStringCount02(String parent, String child) {
        String[] s = parent.split(child);
        if (child.equals(parent.substring(parent.length()-child.length()))){
            return s.length;
        }else {
            return s.length-1;
        }
    }

    private static int getChildStringCount01(String parent,String child) {
        int num = 0;
        int index = 0;
        while ((index = parent.indexOf(child)) != -1){
            num++;
            parent = parent.substring(index + child.length());
        }

        return num;
    }
    private static int getChildStringCount03(String parent,String child){
        String[] s = parent.split(child);
        int sum = 0;
        for (int i = 0;i < s.length;i++){
            sum += s[i].length();
        }
        return sum==parent.length()-(s.length-1)*child.length()?s.length-1:s.length;
    }
}
Nach dem Login kopieren

5 Reguläre Ausdrücke werden häufig zur Überprüfung von ID-Nummern, QQ-Nummern, E-Mail-Adressen usw. verwendet. Zeichenklassen und Bedeutungen:

[abc] =>  abc kann verwendet werden

[a- zA-Z] =>  A-z oder A-Z können verwendet werden, beide Enden sind geschlossene Intervalle

[0-9] =>  Die Zahlen 0-9 können

d sein =>  Und [ 0-9] Dasselbe wie

D  => Es kann keine Zahl sein

w  => Es bedeutet, dass Buchstaben, Zahlen und Unterstriche akzeptabel sind, gleich [a -zA-Z0-9_]

x? => Zeigt an, dass x einmal oder gar nicht vorkommt.

x*  => Zeigt an, dass x null oder mehrmals vorkommt

X{n,m} => Dies bedeutet, dass x n bis m-mal vorkommt.

X+ ^   =>  Gibt den Anfang des regulären Ausdrucks an

&  => ;  Zeigt das Ende des regulären Ausdrucks an

Anforderung 1: Überprüfen Sie, ob die qq-Nummer korrekt ist

qq-Nummernbedingungen:

(1) Die Anzahl der Ziffern beträgt 5- 15 Ziffern

(2)开头数字不能为0

正则表达式为:regex = [1-9]\\d{4-14}

需求二:验证手机号码是否正确

手机号条件:

(1)位数为11位

(2)第一位为1

(3)第二位为3-9

正则表达式为:regex = [1]][3-9]\\d{9}  

需求三:验证邮箱是否正确

邮箱条件:

(1)@之前为邮箱名,字母、数字、下划线都可以

(2)@符号

(3)@之后为邮箱域名(qq.com/163.com.cn)

正则表达式为:regex = \\w+@[a-zA-Z0-9]+(\\.\\w{2,3})+

以下为需求一:验证qq号码是否正确,需求二、三只需将regex修改为对应的正则表达式即可。

/**
 * @ author: PrincessHug
 * @ date: 2019/2/7, 21:51
 * @ Blog: https://www.cnblogs.com/HelloBigTable/
 */
public class MatchQQ {
    public static void main(String[] args) {
        while (true) {
            String qq = getQQ();
            if (qq.equals("stop")){
                break;
            }else {
                matchQQ(qq);
            }
        }
    }

    /**
     * @return 返回获取的qq号
     */
    private static String getQQ() {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您的qq号");
        String s = sc.nextLine();
        return s;
    }

    /**
     * 验证qq号是否匹配regex表达式
     * @param qq 获得用户输入的qq号
     */
    private static void matchQQ(String qq) {
        String regex = qqRegex();
        if (qq.matches(regex)) {
            System.out.println("QQ号正确!");
        } else {
            System.out.println("QQ号错误!");
        }
    }

    /**
     * @return 返回qq的正则表达式
     */
    private static String qqRegex() {
        String regex = "[1-9][0-9]{4,14}";
        return regex;
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEinführung in String-Operationen in Java (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Zeitstempel für Datum in Java Zeitstempel für Datum in Java Aug 30, 2024 pm 04:28 PM

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Java -Programm, um das Kapselvolumen zu finden Java -Programm, um das Kapselvolumen zu finden Feb 07, 2025 am 11:37 AM

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

PHP vs. Python: Verständnis der Unterschiede PHP vs. Python: Verständnis der Unterschiede Apr 11, 2025 am 12:15 AM

PHP und Python haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1.PHP eignet sich für die Webentwicklung mit einfacher Syntax und hoher Ausführungseffizienz. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit präziser Syntax und reichhaltigen Bibliotheken.

See all articles