slogan3

Help me Ruby code schrijven voor het automatiseren van tekstverwerking

description

Met deze prompt kun je snel en efficiënt Ruby scripts maken die repetitieve tekstverwerkingstaken automatiseren, waardoor je tijd bespaart en fouten vermindert. Het helpt je om code te krijgen die makkelijk aan te passen is aan verschillende tekstbestanden en gebruiksscenario's.

prompt

Help me Ruby code te schrijven die tekstbestanden automatisch verwerkt voor de volgende taak: <beschrijf de tekstverwerkingstaak, bijvoorbeeld zoeken en vervangen, tekstextractie, of forma ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Hier is een Ruby-script dat alle datums in het formaat DD-MM-JJJJ zoekt en vervangt door JJJJ-MM-DD. Het script leest een tekstbestand in, voert de vervangingen uit en schrijft het resultaat weer weg. Het is gemakkelijk aanpasbaar voor verschillende bestanden en kan uitgebreid worden. ```ruby # Definieer het pad naar het tekstbestand bestand_pad = 'pad/naar/je/bestand.txt' # Lees de inhoud van het bestand inhoud = File.read(bestand_pad) # Regex voor datums in formaat DD-MM-JJJJ # Let op dat we ook datums in andere formaten kunnen hebben, dus specificeer het regex datums = inhoud.scan(/\b(\d{2})-(\d{2})-(\d{4})\b/) # Vervang alle gevonden datums naar JJJJ-MM-DD nieuwe_inhoud = inhoud.gsub(/\b(\d{2})-(\d{2})-(\d{4})\b/) do |match| dag, maand, jaar = $1, $2, $3 "#{jaar}-#{maand}-#{dag}" end # Schrijf de gewijzigde inhoud terug naar hetzelfde of een nieuw bestand # Hier overschrijven we het originele bestand File.open(bestand_pad, 'w') { |file| file.write(nieuwe_inhoud) } ``` **Hoe te gebruiken:** 1. Vervang `'pad/naar/je/bestand.txt'` door het daadwerkelijke pad naar jouw tekstbestand. 2. Run het script. Het zal automatisch alle datums in het bestand aanpassen. **Voorbeeld:** Originele regel: ``` User login at 01-06-2023 from user@example.com ``` Na uitvoering: ``` User login at 2023-06-01 from user@example.com ``` **Aanpassen voor meerdere bestanden:** Je kunt een lus toevoegen om door meerdere bestanden te lopen, bijvoorbeeld: ```ruby Dir.glob('pad/naar/je/bestanden/*.txt') do |bestand| inhoud = File.read(bestand) nieuwe_inhoud = inhoud.gsub(/\b(\d{2})-(\d{2})-(\d{4})\b/) do |match| dag, maand, jaar = $1, $2, $3 "#{jaar}-#{maand}-#{dag}" end File.open(bestand, 'w') { |f| f.write(nieuwe_inhoud) } end ``` Dit maakt het proces nog efficiënter en gemakkelijk aanpasbaar. Heeft u meer hulp nodig?
provider: deepseek
model: deepseek-chat
Hier is een efficiënte Ruby-oplossing met regex voor datumconversie: ```ruby require 'date' def convert_dates_in_file(input_file, output_file = nil) output_file ||= "converted_#{input_file}" content = File.read(input_file) # Regex om datums in DD-MM-JJJJ formaat te vinden converted_content = content.gsub(/\b(\d{2})-(\d{2})-(\d{4})\b/) do |match| day, month, year = $1, $2, $3 # Valideer of het een geldige datum is if Date.valid_date?(year.to_i, month.to_i, day.to_i) "#{year}-#{month}-#{day}" # Converteer naar JJJJ-MM-DD else match # Behoud origineel als geen geldige datum end end File.write(output_file, converted_content) puts "Bestand verwerkt: #{output_file}" end # Gebruiksvoorbeeld: convert_dates_in_file("input.txt") # of specificeer output bestand: # convert_dates_in_file("input.txt", "output.txt") # Voor batch verwerking van meerdere bestanden: def process_multiple_files(file_pattern) Dir.glob(file_pattern).each do |file| convert_dates_in_file(file) end end # Voorbeeld: alle .txt bestanden verwerken # process_multiple_files("*.txt") ``` **Test met jouw voorbeeldtekst:** ```ruby # Test met jouw voorbeeld test_text = "User login at 01-06-2023 from user@example.com\nError reported by admin@domain.org on 15-12-2022" converted = test_text.gsub(/\b(\d{2})-(\d{2})-(\d{4})\b/) do |match| day, month, year = $1, $2, $3 Date.valid_date?(year.to_i, month.to_i, day.to_i) ? "#{year}-#{month}-#{day}" : match end puts converted # Output: "User login at 2023-06-01 from user@example.com\nError reported by admin@domain.org on 2022-12-15" ``` **Belangrijke features:** - ✅ Valideert datums (geen ongeldige datums zoals 32-13-2023) - ✅ Behoudt originele tekst als geen geldige datum - ✅ Eenvoudig aanpasbaar voor andere datumformaten - ✅ Werkt met grote bestanden door efficiente regex - ✅ Ondersteunt batch verwerking **Gebruik:** 1. Sla de code op als `date_converter.rb` 2. Plaats je tekstbestanden in dezelfde map 3. Run: `ruby date_converter.rb` De regex `\b(\d{2})-(\d{2})-(\d{4})\b` zorgt voor precieze matching van DD-MM-JJJJ formaten zonder valse positieven.