我怎样才能从我的 txt 中删除除匈牙利文本以外的所有其他内容?

我怎样才能从我的 txt 中删除除匈牙利文本以外的所有其他内容?

我有一个游戏的本地化文件,不幸的是,这个文件包含所有本地化语言,但我只需要其中的匈牙利语文本。
我想制作一个关于这个游戏的视频系列,真正值得庆幸的是,这个游戏是翻译的,但我不能使用这种格式的文本,我需要帮助,因为我可以从我的 txt 中删除所有内容,除了匈牙利语文本。
关键的东西在我的文件上,每个“,”字符后都是下一种语言,例如:

"KEY","西班牙语","英语","德语","法语","意大利语","俄语","葡萄牙语","日语","捷克语","中文","匈牙利语","土耳其语","波兰语","乌克兰语","拉丁语" "01_01_01_01_01","Toma. Te toca。","Here. It's your turn。","Hier. Du bist dran。","Voilà. C'est ton tour。","Ecco. Tocca a te。","Держи. Теперь твоя очередь。","Toma. É a sua vez。","はい。君の番だよ。","Tady. Jsi na řadě。","来吧。轮到你了。","Tessék, te jössz。","Al, Sıra sende。","Masz. Twoja kolej。","Тримай。Твоя черга。","Toma。Te toca。"
"01_01_01_03_01","求你了,帮我一下。","请把我从这里带出去。","但是请你把我放在这里。","因为我在这里,所以我请你原谅。","你的家人知道我,我怀孕了。","你愿意,帮我一下。","我愿意,帮我一下。","求你了,带我出去吧。","自由的,请你原谅!","我不想要你,我爱你","求你了,我爱你站。”,“维吉尼亚我明白了,但我仍然相信。”,“来到这里,谢谢你。”

如果你经过计算,我的语言(匈牙利语)位于逗号 11 之后。这也许有助于编写一个好的正则表达式来过滤掉匈牙利字符串。

答案1

我猜你还需要文件中的“KEY”列才能使它正常工作。这应该输入在代替按下之前的对话框全部替换

Find what: ^("[^"]+)(","[^"]+){10}(","[^"]+").*
Replace with: \1\3

请记住,仅当任何字段中都没有“”字符时,此方法才会起作用。

答案2

使用单个文件编辑器程序制作起来太复杂了。如果你想这样做,你需要一个 mysql 数据库,你需要重命名文件,file.csv然后导入到数据库。现在如果你很幸运,你可以运行这个命令,你会没事的:

SELECT `COLLUMNAME` FROM `TABLENAME` INTO OUTFILE 'forditas.txt';

如果您不是,就像我的情况一样,因为此命令在 dreamhost 服务器上被禁用,您可以按照以下说明进行操作:

  1. 导入数据库后,由于存在拉丁 2 个字符,因此需要确保字符集编码设置为 utf-8。
  2. 之后,您需要创建一个 php 文件,例如translate.php,然后在其中粘贴以下内容:

      <html>
        <head> 
           <meta name="viewport" content="width=device-width, initial-scale=1">
           <title>Blues and bullets episode 1</title>
           <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
           <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
           <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
           <meta charset="UTF-8">
           <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
           <script>
              $(document).ready(function() {
                $(".text-center p:first").remove();
                $("textarea").val($(".text-center p").text()+"<br>");
              });
    
            </script>
          </head>
    <body>
     <style>
      body{
        background:#eee;
      }
      p{
    
        font-weight:bold;
      }
     </style>
     <div class="container">
       <div class="text-center">
       <textarea></textarea>
         <h1 class="jumbatron">Blues and Bullets magyar szöveg Episode 1</h1><br>
         <?php
           $servername = "MYSQLHOST usarly localhost";//Change this!
           $username = "DATABASE USERNAME";//Change this!
           $password = "PASSWORD";//Change this!
           // Create connection
           $conn = new mysqli($servername, $username, $password);
           $conn->set_charset("utf8");
           // Check connection
           if ($conn->connect_error) {
             die("Connection failed: " . $conn->connect_error);
            } 
    
             $sql = "SELECT `COLLUM` FROM `DATABASENAME`.`TABLE 1`";//Chanche this!
    
              $result = $conn->query($sql);
              if ($result->num_rows > 0) {
                  // output data of each row
                  while($row = $result->fetch_assoc()) {
                    $string =$row["COLLUM"];//Change this!
                    $string = preg_replace('/([a-z])([A-Z])/', "\\1\n\\2", $string);
                      echo "<p>".$string."</p>";
                  }
              } else {
                  echo "0 results";
              }
              $conn->close();
         ?><br>
       </div>
     </div>
    

  3. 下一步是,您需要更改此文件中的某些行。我对您需要更改的所有内容都做了注释,但我在这里突出显示了以下行:第一件事是数据库连接:

           $servername = "MYSQLHOST usarly localhost";//Change this!
           $username = "DATABASE USERNAME";//Change this!
           $password = "PASSWORD";//Change this!
    

    请填写正确的数据。
    之后我们有这一行:

    $sql = "SELECT `COLLUM` FROM `DATABASENAME`.`TABLE 1`";//Chanche this!
    

    我们需要给出列号、数据库名称和表名称。所以我们基本上要更改“`”字符内的所有内容。最后一件事。我们需要回显此内容,因此您需要更改此行:

    $string =$row["COLLUM"];//Change this!
    

    将文本更改COLLUM为 collum 真实姓名。

相关内容