簡體   English   中英

划分和比較兩個字符串

[英]Divide and compare two strings

我正在構建一個解釋器,它正在逐行閱讀。 現在讓我們假設 A 是一個聲明變量,如果解釋器只找到字母 a,它將顯示它的值,但如果找到“a”我只想顯示 a。

我不知道如何讓解釋器識別“a”。 然后消除“”,然后只計算字母a。

//the line below doesn't work
if(comands[i].equals("\"" + var[position].getNome() + "\"")){
    System.out.print(var[position].getName() + " ");
}

因此,據我所知,您希望能夠獲取一個字符串,通常如"A " (不帶引號)並刪除空格。

  1. 找到這封信。 一個簡單的方法是String.charAt(index) 基本上,使用循環來查找字母。 創建一個char "value" 變量(value 將是一個變量名用於演示)

  2. 通過使用它對應的ASCII值來檢查它是否是一個字母(你可以從char轉換為int )並查看它是否是一個字母。 如果是字母,do value = String.charAt(i) // i is from the for loop

  3. System.out.print(characterValue)

您可以首先識別雙引號中的所有字符串並將其設為列表,然后將其與您聲明的變量匹配。

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringContains {
    public static void main(String args[]) {
        String fileData = "Welcome! to A \"A\" \"What A DAY\"";
        String declaredVariable = "A";

        Pattern p = Pattern.compile("\"([^\"]*)\"");
        Matcher m = p.matcher(fileData);
        List<String> stringList = new ArrayList<>();
        while (m.find()) {
            stringList.add(m.group(1));
        }

        for(String s : stringList) {
            if(s.matches(declaredVariable)) {
                System.out.println(s);
            }
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM