[英]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 "
(不帶引號)並刪除空格。
找到這封信。 一個簡單的方法是String.charAt(index)
。 基本上,使用循環來查找字母。 創建一個char
"value" 變量(value 將是一個變量名用於演示)
通過使用它對應的ASCII值來檢查它是否是一個字母(你可以從char
轉換為int
)並查看它是否是一個字母。 如果是字母,do value = String.charAt(i) // i is from the for loop
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.