華為筆試題:Linux shell腳本中${xxx}代表變量xxx的值

華為筆試題如下:
Linux shell腳本中${xxx}代表變量xxx的值,給定一個字符串中存在一個或多個${xxx},需要將字符串中所有的${xxx}替換成實際值.
示例:
輸入:
4
xxx=lyf/${ttt}/test
ttt=www
yyy=seeyou
aa=/aaa/${xxx}/bbb/${yyy}/ccc
說明:第一行4為輸入總行數(shù),其余為輸入字符串入挣,
輸出:
/aaa/lyf/www/test/bbb/seeyou/ccc
說明:將最后一行等號右邊的實際值輸出
題目記錄不是很詳細亿乳,大致是這個意思,有遇到這個題的径筏,可以直接拷貝我下邊的java代碼葛假,親測已通過。

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Main {
    /**
     * 4
     * xxx=lyf/${ttt}/test
     * ttt=www
     * yyy=seeyou
     * aa=/aaa/${xxx}/bbb/${yyy}/ccc
     *
     * @param args
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
                //用來記錄輸入變量分割后的數(shù)值
        Map<String, String> map = new HashMap<String, String>();
        String val = "";
        while (in.hasNextLine()) {
            String s = in.nextLine();
            if(s.isEmpty()){
                break;
            }
            int lineNum = Integer.parseInt(s);
            String temp = "";
            for (int i = 0; i < lineNum; i++) {
                String str = in.next();
                String[] split = str.split("=");
                map.put(split[0], split[1]);
                if (i + 1 == lineNum) {
                    temp = str;
                }
            }
            String[] lastLineArr = temp.split("=");
            String[] strings = lastLineArr[1].split("/");
                      //替換成實際值后的字符串
            val = getString(map, strings, val);
                      //循環(huán)處理字符串滋恬,直到所有變量被替換成實際值為止
            while (val.contains("$")) {
                String[] strs = val.split("/");
                val = "";
                val = getString(map, strs, val);
            }

        }
        System.out.println(val);
    }

    private static String getString(Map<String, String> map, String[] strings, String val) {
        for (int i = 0; i < strings.length; i++) {
            if (strings[i].contains("$")) {
                String key = strings[i].substring(2, strings[i].length() - 1);
                String value = map.get(key);
                if (i == 0) {
                    val = value;
                } else {
                    val = val + "/" + value;
                }

            } else {
                if (i == 0) {
                    val = strings[i];
                } else {
                    val = val + "/" + strings[i];
                }

            }
        }
        return val;
    }
}
企業(yè)微信截圖_15809565231324.png
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末聊训,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子夷恍,更是在濱河造成了極大的恐慌,老刑警劉巖媳维,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酿雪,死亡現(xiàn)場離奇詭異,居然都是意外死亡侄刽,警方通過查閱死者的電腦和手機指黎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來州丹,“玉大人醋安,你說我怎么就攤上這事杂彭。” “怎么了吓揪?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵亲怠,是天一觀的道長。 經(jīng)常有香客問我柠辞,道長团秽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任叭首,我火速辦了婚禮习勤,結果婚禮上,老公的妹妹穿的比我還像新娘焙格。我一直安慰自己图毕,他們只是感情好,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布眷唉。 她就那樣靜靜地躺著予颤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪厢破。 梳的紋絲不亂的頭發(fā)上荣瑟,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音摩泪,去河邊找鬼笆焰。 笑死,一個胖子當著我的面吹牛见坑,可吹牛的內(nèi)容都是我干的嚷掠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼荞驴,長吁一口氣:“原來是場噩夢啊……” “哼不皆!你這毒婦竟也來了?” 一聲冷哼從身側響起熊楼,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤霹娄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鲫骗,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體犬耻,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年执泰,在試婚紗的時候發(fā)現(xiàn)自己被綠了枕磁。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡术吝,死狀恐怖计济,靈堂內(nèi)的尸體忽然破棺而出茸苇,到底是詐尸還是另有隱情,我是刑警寧澤沦寂,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布学密,位于F島的核電站,受9級特大地震影響凑队,放射性物質發(fā)生泄漏则果。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一漩氨、第九天 我趴在偏房一處隱蔽的房頂上張望西壮。 院中可真熱鬧,春花似錦叫惊、人聲如沸款青。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽抡草。三九已至,卻和暖如春蔗坯,著一層夾襖步出監(jiān)牢的瞬間康震,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工宾濒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留腿短,地道東北人。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓绘梦,卻偏偏與公主長得像橘忱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子卸奉,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容