14. februar 2005 - 15:07
Der er
7 kommentarer og 1 løsning
finde tekst i string
Hvis man nu skulle lave en funktion der kunne finde alle værdier alder + navn i nedenstående tekststreng. Hvordan ville såen funktion se ud ? <NewDataSet> <Person> <ALDER>1</ALDER> <Navn>1</Navn> </Person> <Person> <ALDER>2</ALDER> <Navn>2</Navn> </Person> <Person> <ALDER>3</ALDER> <Navn>3</Navn> </Person> <Person> <ALDER>4</ALDER> <Navn>4</Navn> </Person> <Person> <ALDER>5</ALDER> <Navn>5</Navn> </Person> <Person> <ALDER>6</ALDER> <Navn>6</Navn> </Person> <Person> <ALDER>7</ALDER> <Navn>7</Navn> </Person> <Person> <ALDER>8</ALDER> <Navn>8</Navn> </Person> <Person> <ALDER>9</ALDER> <Navn>9</Navn> </Person> <Person> <ALDER>10</ALDER> <Navn>10</Navn> </Person> <Person> <ALDER>11</ALDER> <Navn>11</Navn> </Person> <Person> <ALDER>12</ALDER> <Navn>12</Navn> </Person> <Person> <ALDER>13</ALDER> <Navn>13</Navn> </Person> <Person> <ALDER>14</ALDER> <Navn>14</Navn> </Person> <Person> <ALDER>15</ALDER> <Navn>15</Navn> </Person> <Person> <ALDER>16</ALDER> <Navn>16</Navn> </Person> <Person> <ALDER>17</ALDER> <Navn>17</Navn> </Person> <Person> <ALDER>18</ALDER> <Navn>18</Navn> </Person> <Person> <ALDER>19</ALDER> <Navn>18</Navn> </Person> <Person> <ALDER>20</ALDER> <Navn>18</Navn> </Person> </NewDataSet>
Annonceindlæg fra Computerworld it-jobbank
Mød 3.500+ it-talenter på IT-DAY 2026
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
14. februar 2005 - 15:14
#3
using System; using System.Text.RegularExpressions; class MainClass { public static void Main(string[] args) { test(@"<NewDataSet> <Person> <ALDER>1</ALDER> <Navn>1</Navn> </Person> <Person> <ALDER>2</ALDER> <Navn>2</Navn> </Person> <Person> <ALDER>3</ALDER> <Navn>3</Navn> </Person> <Person> <ALDER>4</ALDER> <Navn>4</Navn> </Person> <Person> <ALDER>5</ALDER> <Navn>5</Navn> </Person> <Person> <ALDER>6</ALDER> <Navn>6</Navn> </Person> <Person> <ALDER>7</ALDER> <Navn>7</Navn> </Person> <Person> <ALDER>8</ALDER> <Navn>8</Navn> </Person> <Person> <ALDER>9</ALDER> <Navn>9</Navn> </Person> <Person> <ALDER>10</ALDER> <Navn>10</Navn> </Person> <Person> <ALDER>11</ALDER> <Navn>11</Navn> </Person> <Person> <ALDER>12</ALDER> <Navn>12</Navn> </Person> <Person> <ALDER>13</ALDER> <Navn>13</Navn> </Person> <Person> <ALDER>14</ALDER> <Navn>14</Navn> </Person> <Person> <ALDER>15</ALDER> <Navn>15</Navn> </Person> <Person> <ALDER>16</ALDER> <Navn>16</Navn> </Person> <Person> <ALDER>17</ALDER> <Navn>17</Navn> </Person> <Person> <ALDER>18</ALDER> <Navn>18</Navn> </Person> <Person> <ALDER>19</ALDER> <Navn>18</Navn> </Person> <Person> <ALDER>20</ALDER> <Navn>18</Navn> </Person> </NewDataSet>"); } private static void test(string s) { MatchCollection res = Regex.Matches(s,"(?:<ALDER>)([^<]*)(?:</ALDER)(?:.*?)(?:<Navn>)([^<]*)(?:</Navn)"); for(int i = 0; i < res.Count; i++) { Console.WriteLine(res[i].Groups[2] + " = " + res[i].Groups[1]); } } }
14. februar 2005 - 15:15
#4
Det er jo også valid XML, så du kunne også parse det som XML, men jeg tror at regex er nemmere i dette tilfælde.