編程相對比較新,所以我很抱歉,如果這是相當基本的。將字符串解析爲不同的變量類型
我想將字符串行轉換爲不同類型的實際變量。 我的輸入爲以下格式的文件:
double d1, d2 = 3.14, d3;
int a, b = 17, c, g;
global int gInt = 1;
final int fInt = 2;
String s1, s2 = "Still with me?", s3;
這些線是在這一點上的所有字符串。我希望從字符串中提取變量並接收實際變量,以便我可以使用和操作它們。
到目前爲止,我試過使用正則表達式,但我在這裏磕磕絆絆。會喜歡一些方向,如何這是可能的。 我想使一個一般類型的格式例如:
public class IntType{
boolean finalFlag;
boolean globalFlag;
String variableName;
IntType(String variableName, boolean finalFlag, boolean globalFlag){
this.finalflag = finalFlag;
this.globalFlag = globalFlag;
this.variableName = variableName;
}
}
創建對於每個可變類型的新包裝。
通過使用和操縱我想然後比較我創建的包裝和檢查重複聲明等。
但我不知道我是否在正確的道路上。
注:不考慮壞的格式(即沒有「;」結尾等)
我不會爲這類事情使用正則表達式,而是會使用專門爲此類工作構建的工具,我認爲您要查找的是詞法分析器,儘管我不確定我不做這項工作。雖然我**我確信,正則表達式不是要走的路。 –
是否每個String行都遵循可重複的格式?如果是,哪一個?給出一個輸入樣本。否則,如何知道值是否必須分配給特定類型?例如double和int都可以適合'2'。 – davidxxx
也許[ANTLR](http://www.antlr.org/)就是你要找的。再次,我不是這個領域的專家,這就是爲什麼我沒有發佈答案,而是發表評論。 –