亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 java 中的 useDelimeter 從字符串中獲取兩個特定值?

如何使用 java 中的 useDelimeter 從字符串中獲取兩個特定值?

收到一只叮咚 2021-09-03 21:53:29
我正在嘗試使用正則表達式從“line”字符串中獲取兩個玩家值并將它們插入到 player1 和 player2 中。   try (BufferedReader in = new BufferedReader(new FileReader(file))) {        String line;        String player1;        String player2;        while ((line = in.readLine()) != null) {            Scanner input = new Scanner(line);            input.useDelimiter("(.* [a-z] )|\\sby ");            if(line.toLowerCase().contains("kill")) {                kill +=  1;                //i would like to set the player1 and player2 here            }                           }          }我的文件片段(.txt): 13:37 Kill: 3 4 7: Oootsimo killed Dono da Bola by MOD_ROCKET_SPLASH 13:37 Item: 5 weapon_rocketlauncher 13:39 Item: 6 weapon_rocketlauncher 13:40 Item: 7 ammo_rockets 13:41 Item: 6 weapon_rocketlauncher 13:41 Item: 4 weapon_rocketlauncher 13:43 Kill: 2 5 6: Isgalamido killed Assasinu Credi by MOD_ROCKET 13:45 Kill: 1022 7 22: <world> killed Mal by MOD_TRIGGER_HURT 13:46 Kill: 4 3 7: Dono da Bola killed Oootsimo by MOD_ROCKET_SPLASH 13:46 Kill: 6 2 6: Zeh killed Isgalamido by MOD_ROCKET
查看完整描述

1 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

我不知道您的所有要求,但請嘗試使用 Regexp:


@Test

public void test()

{

    String string = "13:46 Kill: 6 2 6: Zeh killed Isgalamido by MOD_ROCKET";

    String regexp = "\\d+:\\d+ .*?([A-Za-z0-9]+) killed ([A-Za-z0-9]+).*?";

    String player1 = null;

    String player2 = null;


    Pattern p = Pattern.compile(regexp);


    Matcher m = p.matcher(string);


    if (m.find())

    {

        player1 = m.group(1);

        player2 = m.group(2);

    }


    assertEquals("Zeh", player1);

    assertEquals("Isgalamido", player2);

}

說明:\d+ - 一個數字,一次或多次


.* - 任意字符,任意次數。這 '?' 表示“非貪婪”,因此匹配以下表達式的字符不會被覆蓋


([A-Za-z0-9]+) - '[]' 內的字符范圍,一次或多次,被捕獲


一旦我確認這是你的意思,我會再次編輯我的答案


查看完整回答
反對 回復 2021-09-03
  • 1 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號