|
You last visited: Today at 09:46
Advertisement
[C#]String Zeilenweise untersuchen
Discussion on [C#]String Zeilenweise untersuchen within the .NET Languages forum part of the Coders Den category.
01/17/2013, 00:22
|
#1
|
elite*gold: 0
Join Date: Oct 2007
Posts: 1,594
Received Thanks: 119
|
[C#]String Zeilenweise untersuchen
Ich lese einen quelltext ein welcher zb so aussieht:
Code:
123
asdfg
432312
423132
Habe den Quelltext ausgelesen und in einem String gespeichert.
Wie kann ich jetzt überprüfen ob die Zeile asdfg beinhaltet, bzw übereinstimmt?
Ohne die Datei temporär zu speichern!
|
|
|
01/17/2013, 00:41
|
#2
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
ist wirklich nicht schwer:
Code:
string filecontent;
var enthält_die_zeile = System.Text.RegularExpressions.Regex.Split(filecontent, "\r\n|\r|\n").Any(s => s == "die_gesuchte_zeile");
var enthält_eine_zeile_die_damit_anfängt = System.Text.RegularExpressions.Regex.Split(filecontent, "\r\n|\r|\n").Any(s => s.StartsWith("der_gesuchte_anfang"));
einfacher ist es aber wenn du datei nicht als String sondern mit File.ReadAllLines ausliest, dann brauchst du das regex split nichtmehr.
|
|
|
01/17/2013, 01:31
|
#3
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
ich würd das normale .net split nehmen voralle wenn regex im projekt sonst nicht genutzt wird; das ganze also in nen array rein und durch loopen, so können dann auch mehrere ergebnisse verarbeitet werden
|
|
|
01/17/2013, 02:39
|
#4
|
elite*gold: 14
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
|
Code:
foreach (string line in lines.Split('\n')) if (line.StartsWith("blabla")) return line;
|
|
|
01/17/2013, 14:10
|
#5
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
Quote:
Originally Posted by tolio
ich würd das normale .net split nehmen voralle wenn regex im projekt sonst nicht genutzt wird; das ganze also in nen array rein und durch loopen, so können dann auch mehrere ergebnisse verarbeitet werden
|
das geht mit der anderen methode auch wenn es any nicht tut. nimmt man eben where oder ähnliches.
Quote:
Originally Posted by Headpuster
Code:
foreach (string line in lines.Split('\n')) if (line.StartsWith("blabla")) return line;
|
funktioniert nicht, da '\n' im alllgemeinen nicht das newline seperator ist
|
|
|
01/17/2013, 16:38
|
#6
|
elite*gold: 14
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
|
Habs getestet, funktioniert - zumindest auf Windows.
|
|
|
01/17/2013, 17:46
|
#7
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
Quote:
Originally Posted by Headpuster
Habs getestet, funktioniert - zumindest auf Windows.
|
vieleicht war die zeile die du suchtest gerade die letzte zeile? ansonsten gibt deine Methode wenn man eine datei die z.B. mit notepad erstellt wurde die zeile mit einem '\r' char am Ende zurück.
Datei dann gibt
Code:
foreach (string line in lines.Split('\n')) if (line.StartsWith("b")) return line;
"bb\r" zurück
|
|
|
01/17/2013, 19:01
|
#8
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
manchmal ist es notwendig erst einfach alle crs zu löschen dann kann bedenkenlos am lf gesplittet werden und man hat auch wieder alle zeilen
ich denke viele der hier genannten methoden funktionieren, jedoch bin ich nach wie vor fan vom klassischen split und dem file.readalllines, kommt auf das szenario an, einfach aus dem grund ,dass ich hatte noch nie einen fall hatte bei dem das nicht funktioniert hat
|
|
|
 |
Similar Threads
|
[Visual Basic] [Problem] String auslesen/String zufällig wählen
05/06/2012 - General Coding - 4 Replies
Code:
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Name Generator", 236, 299, 815, 246)
$Input1 = GUICtrlCreateInput("Username", 24, 72, 185, 21)
$Input2 = GUICtrlCreateInput("Username", 24, 104, 185, 21)
$Input3 = GUICtrlCreateInput("Username", 24, 136, 185, 21)
$Input4 = GUICtrlCreateInput("Username", 24, 168, 185, 21)
$Input5 = GUICtrlCreateInput("Username", 24, 200, 185, 21)
|
[VB08]String in String mit mehreren Funden
08/08/2011 - .NET Languages - 6 Replies
Hey,
bin gerade auf ein Problem gestoßen, an dem ich mir seit 3 Stunden die Zähne ausbeiße.
Ich will eine Funktion schreiben, die der _StringBetween Funktion von AutoIt gleich ist. _StringBetween gibt in einem Array alle Strings zwischen zwei SubStrings und dem ganzen String aus. Die Ausgabe bei
_StringBetween("<h1>test1</h1>&l t;h1>test2</h1>", "<h1>", "</h1>") wäre also idealer Weiße ein Array (x = "test1", x = "test2")...
da man in VB08 kein Array returnen kann, komme ich aber einfach...
|
[C++] string zwischen string
11/11/2010 - C/C++ - 6 Replies
tag gibts direkt ne funktion, mit der man einen passenden string zwischen dem string suchen kann?
also meine net .find() sondern sowas ähnliches, die in diesem beispiel "mein string sucht"
Bsp:
"<span id=\"lalala\">"+string mein_string+"</span>"
understanden? :-)
|
[Tipp]WarRock Hacks am besten nach Viren untersuchen
07/11/2009 - WarRock Hacks, Bots, Cheats & Exploits - 6 Replies
Hallo Leute,
Ihr wollt wohl in WarRock hacken und ladet euch paar Hacks runter?
Da gibts immer die eine Sorge : Ist es voll mit Viren oder Keyloggern?
Ich werde euch mal helfen!
1. Viruschief
2. Virustotal
1.
|
All times are GMT +1. The time now is 09:48.
|
|