划分并比较两个字符串

时间:2019-10-22 20:00:44

标签: java string split

我正在建立一个口译员,它正在逐行阅读。现在假设如果解释器仅找到字母a,则A是声明的变量,它将显示其值,但是如果找到“ a”,我只想显示a。

我不知道如何使口译员识别“ a”。然后消除“”,然后仅评估字母a。

for the_key, the_value in Journal.items():      # this will give you the keys and values
   print(the_key, 'corresponds to', the_value)  # this will print them out

2 个答案:

答案 0 :(得分:0)

因此,据我所知,您希望能够采用一个字符串,通常像"A "(不带引号)并删除空格。

  1. 找到字母。一种简单的方法是String.charAt(index)。基本上,使用循环查找字母。创建一个char“值”变量(值将是用于演示的变量名)

  2. 使用对应的ASCII值(您可以将其从char强制转换为int)来检查它是否为字母,并查看它是否为字母。如果是字母,请执行value = String.charAt(i) // i is from the for loop

  3. System.out.print(characterValue)

答案 1 :(得分:0)

您可以首先识别所有用双引号引起来的字符串,并使其成为列表,然后将其与声明的变量匹配。

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);
            }
        }
    }
}