Csharp:字符串操作

  1     public class StringControl
  2     {
  3 
  4         /// 
  5         /// 客户端浏览器
  6         /// http://en.wikipedia.org/wiki/Web_browser
  7         /// http://www.w3schools.com/browsers/browsers_stats.asp
  8         /// The major web browsers are Google Chrome, Mozilla Firefox, Internet Explorer, Opera, and Safari.
  9         /// 涂聚文 20130806
 10         /// 
 11         /// 客户端环境
 12         /// 浏览器版
 13         /// 返回浏览器名称
 14         public string getBrowser(string strClient, out string ver)
 15         {
 16             string strBrowser = null;
 17             if (strClient.Contains("MSIE") == true)
 18             {
 19                 strBrowser = "Internet Explorer";
 20                 ver = getIEVer(strClient);
 21             }
 22             else if (strClient.Contains("Opera") == true)
 23             {
 24                 strBrowser = "Opera";
 25                 ver = getBrowserVer(strClient, "Version");
 26             }
 27             else if ((strClient.Contains("Firefox") == true) && (strClient.Contains("Chrome") == false) && (strClient.Contains("Safari") == false) && (strClient.Contains("Navigator") == false))
 28             {
 29                 strBrowser = "FireFox";
 30                 ver = getBrowserVer(strClient, "Firefox");
 31 
 32             }
 33             else if ((strClient.Contains("AppleWebKit") == true) && (strClient.Contains("Chrome") == true) && (strClient.Contains("Safari") == true) && (strClient.Contains("Flock") == false))
 34             {
 35                 strBrowser = "Google Chrome";
 36                 ver = getBrowserVer(strClient, "Chrome");
 37             }
 38             else if ((strClient.Contains("Firefox") == true) && (strClient.Contains("Chrome") == false) && (strClient.Contains("Safari") == false) && (strClient.Contains("Navigator") == true))
 39             {
 40                 strBrowser = "Netscape Navigator";
 41                 ver = getBrowserVer(strClient, "Navigator");
 42             }
 43             else if ((strClient.Contains("AppleWebKit") == true) && (strClient.Contains("Flock") == true) && (strClient.Contains("Chrome") == true) && (strClient.Contains("Safari") == true))
 44             {
 45                 strBrowser = "Flock";
 46                 ver = getBrowserVer(strClient, "Flock");
 47             }
 48             else if ((strClient.Contains("AppleWebKit") == true) && (strClient.Contains("Chrome") == false) && (strClient.Contains("Safari") == true))
 49             {
 50                 strBrowser = "Safari";
 51                 ver = getBrowserVer(strClient, "Version");
 52             }
 53             else
 54             {
 55                 strBrowser = "NoData";
 56                 ver = "NoData";
 57             }
 58             return strBrowser;
 59         }
 60         /// 
 61         /// 客户端操作系统
 62         /// http://en.wikipedia.org/wiki/Windows_NT
 63         /// 
 64         /// 
 65         /// 客户端环境
 66         /// 返回操作系统名称
 67         public string getPlatform(string strClient)
 68         {
 69             string OpertorSystem = String.Empty;
 70             strClient = strClient.ToLower();
 71 
 72             if (strClient.Contains("mac") == true)
 73             {
 74                 return OpertorSystem = "Mac";
 75             }
 76             else if (strClient.Contains("unix") == true)
 77             {
 78                 return OpertorSystem = "Unix";
 79             }
 80             else if (strClient.Contains("linux") == true)
 81             {
 82                 return OpertorSystem = "Linux";
 83             }
 84             else if (strClient.Contains("sunos") == true)
 85             {
 86                 return OpertorSystem = "SunOS";
 87             }
 88             else if (strClient.Contains("android") == true)
 89             {
 90                 return OpertorSystem = "Android";
 91             }
 92             else if (strClient.Contains("ipad") == true)
 93             {
 94                 return OpertorSystem = "iPAD";
 95             }
 96             else if (strClient.Contains("iphone") == true)
 97             {
 98                 return OpertorSystem = "iPhone";
 99             }
100             else if (strClient.Contains("windows ce") == true)
101             {
102                 return OpertorSystem = "Windows CE";
103             }
104             else if (strClient.Contains("windows phone") == true)
105             {
106                 return OpertorSystem = "Windows Phone";
107             }
108             else if (strClient.Contains("symbian") == true)
109             {
110                 return OpertorSystem = "symbian";
111             }
112             else if (strClient.Contains("htc") == true)
113             {
114                 return OpertorSystem = "HTC";
115             }
116             else if (strClient.Contains("samsung") == true)
117             {
118                 return OpertorSystem = "samsung";
119             }
120             else if (strClient.Contains("blackberry") == true)
121             {
122                 return OpertorSystem = "blackberry";
123             }
124             else if (strClient.Contains("nokia") == true)
125             {
126                 return OpertorSystem = "nokia";
127             }
128             else if (strClient.Contains("huawei") == true)
129             {
130                 return OpertorSystem = "HuaWei";
131             }
132             else if (strClient.Contains("xiaomi") == true)
133             {
134                 return OpertorSystem = "XiaoMi";
135             }
136             else if (strClient.Contains("Windows NT 3.1") == true)
137             {
138                 return OpertorSystem = "Windows NT 3.1";
139             }
140             else if (strClient.Contains("Windows NT 3.5") == true)
141             {
142                 return OpertorSystem = "Windows NT 3.5";
143             }
144             else if (strClient.Contains("Windows NT 3.51") == true)
145             {
146                 return OpertorSystem = "Windows NT 3.51";
147             }
148             else if (strClient.Contains("Windows NT 4.0") == true)
149             {
150                 return OpertorSystem = "Windows NT 4.0";
151             }
152             else if (strClient.Contains("95") == true)
153             {
154                 return OpertorSystem = "Windows 95";
155             }
156             else if (strClient.Contains("Me") == true)
157             {
158                 return OpertorSystem = "Windows Me";
159             }
160             else if (strClient.Contains("98") == true)
161             {
162                 return OpertorSystem = "Windows 98";
163             }
164             else if (strClient.Contains("Windows NT 5.0") == true)
165             {
166                 return OpertorSystem = "Windows 2000";
167             }
168             else if (strClient.Contains("Windows NT 5.1") == true)
169             {
170                 return OpertorSystem = "Windows XP/Windows Fundamentals";
171             }
172             else if (strClient.Contains("Windows NT  5.2") == true)
173             {
174                 return OpertorSystem = "Windows Server 2003/Windows Home Server";
175             }
176             else if (strClient.Contains("Windows  NT 6.0") == true)
177             {
178                 return OpertorSystem = "Windows Vista/Windows Server 2008";
179             }
180 
181             else if (strClient.Contains("Windows NT 6.1") == true)
182             {
183                 return OpertorSystem = "Windows 7/ Windows Server 2008 R2";
184             }
185             else if (strClient.Contains("Windows NT 6.2") == true)
186             {
187                 return OpertorSystem = "Windows 8/Windows Phone 8/Windows Server 2012";
188             }
189             else if (strClient.Contains("Windows NT 6.3") == true)
190             {
191                 return OpertorSystem = "Windows 8.1";
192             }
193 
194             else
195             {
196                 return OpertorSystem = "NoData";
197             }
198             //OpertorSystem;
199         }
200         /// 
201         /// IE
202         /// 
203         /// 
204         /// 
205         private string getIEVer(string strClient)
206         {
207             string ver = string.Empty;
208 
209             if (strClient.Contains("MSIE 10.0") == true)
210             {
211                 return ver = "10.0";
212             }
213             if (strClient.Contains("MSIE 9.0") == true)
214             {
215                 return ver = "9.0";
216             }
217             if (strClient.Contains("MSIE 8.0") == true)
218             {
219                 return ver = "8.0";
220             }
221             else if (strClient.Contains("MSIE 7.0") == true)
222             {
223                 return ver = "7.0";
224             }
225             else if (strClient.Contains("MSIE 6.0") == true)
226             {
227                 return ver = "6.0";
228             }
229             else if (strClient.Contains("MSIE 5.0") == true)
230             {
231                 return ver = "5.0";
232             }
233             else
234             {
235                 return ver = "1.0";
236             }
237 
238         }
239         /// 
240         /// 得到版本
241         /// 
242         /// 客户端环境
243         /// 浏览器名称
244         /// 返回版本号
245         private string getBrowserVer(string strClient, string browere)
246         {
247             string ver = string.Empty;
248             string[] words = strClient.Split(' ');
249             string browsername = string.Empty;
250             foreach (string word in words)
251             {
252                 if (word.Contains(browere) == true)
253                 {
254                     browsername = word;
255                 }
256                 //Response.Write(word + "
");
257 } 258 //Response.Write("浏览器名称及版本:" + browsername + "
");
259 string strnamd = ""; 260 //string strver = ""; 261 string[] wd = browsername.Split('/'); 262 foreach (string nd in wd) 263 { 264 if (nd.Contains(browere) == true) 265 { 266 strnamd = nd; 267 } 268 else 269 { 270 ver = nd; 271 } 272 } 273 return ver; 274 } 275 /// 276 /// 浏览器语言 277 /// http://msdn.microsoft.com/en-us/library/ms533052(VS.85).aspx 278 /// http://www.w3schools.com/tags/ref_language_codes.asp 279 /// http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes 280 /// http://www.metamodpro.com/browser-language-codes 281 /// http://4umi.com/web/html/languagecodes.php 282 /// 283 /// 客户端环境 284 /// 返回浏览语言 285 public string getBrowserLanguage(string strClicent) 286 { 287 //zh-tw Chinese (Taiwan) zh-cn Chinese (PRC) 288 //zh-hk Chinese (Hong Kong SAR) zh-sg Chinese (Singapore) 289 290 string BroswerLanguage = string.Empty; 291 strClicent = strClicent.ToLower(); 292 switch (strClicent) 293 { 294 case "zh-cn": 295 BroswerLanguage = "zh-cn";//Chinese (PRC) 296 break; 297 case "zh-tw": 298 BroswerLanguage = "zh-tw";//Chinese (Taiwan) 299 break; 300 case "zh-hk": 301 BroswerLanguage = "zh-hk";//Chinese (Hong Kong SAR) 302 break; 303 case "zh-sg": 304 BroswerLanguage = "zh-sg";//Chinese (Singapore) 305 break; 306 case "af": 307 BroswerLanguage = "af";//Afrikaans 308 break; 309 case "sq": 310 BroswerLanguage = "sq";//Albanian 311 break; 312 case "ar-sa": 313 BroswerLanguage = "";//Arabic (Saudi Arabia) 314 break; 315 case "ar-iq": 316 BroswerLanguage = "ar-iq";//Arabic (Iraq) 317 break; 318 case "ar-eg": 319 BroswerLanguage = "ar-eg";//Arabic (Egypt) 320 break; 321 case "ar-ly": 322 BroswerLanguage = "ar-ly";//Arabic (Libya) 323 break; 324 case "ar-dz": 325 BroswerLanguage = "ar-dz";//Arabic (Algeria) 326 break; 327 case "ar-ma": 328 BroswerLanguage = "ar-ma";//Arabic (Morocco) 329 break; 330 case "ar-tn": 331 BroswerLanguage = "ar-tn";//Arabic (Tunisia) 332 break; 333 case "ar-om": 334 BroswerLanguage = "ar-om";//Arabic (Oman) 335 break; 336 case "ar-ye": 337 BroswerLanguage = "ar-ye";//Arabic (Yemen) 338 break; 339 case "ar-sy": 340 BroswerLanguage = "ar-sy";//Arabic (Syria) 341 break; 342 case "ar-jo": 343 BroswerLanguage = "ar-jo";//Arabic (Jordan) 344 break; 345 case "ar-lb": 346 BroswerLanguage = "ar-lb";//Arabic (Lebanon) 347 break; 348 case "ar-kw": 349 BroswerLanguage = "ar-kw";//Arabic (Kuwait) 350 break; 351 case "ar-ae": 352 BroswerLanguage = "ar-ae";//Arabic (U.A.E.) 353 break; 354 case "ar-bh": 355 BroswerLanguage = "ar-bh";//Arabic (Bahrain) 356 break; 357 case "ar-qa": 358 BroswerLanguage = "ar-qa";//Arabic (Qatar) 359 break; 360 case "eu": 361 BroswerLanguage = "Basque";// 362 break; 363 case "bg": 364 BroswerLanguage = "bg";// Bulgarian 365 break; 366 case "be": 367 BroswerLanguage = "be";//Belarusian 368 break; 369 case "ca": 370 BroswerLanguage = "ca";//Catalan 371 break; 372 case "hr": 373 BroswerLanguage = "hr";//Croatian 374 break; 375 case "cs": 376 BroswerLanguage = "cs";//Czech 377 break; 378 case "da": 379 BroswerLanguage = "da";// Danish 380 break; 381 case "nl": 382 BroswerLanguage = "nl";//Dutch (Standard) 383 break; 384 case "nl-be": 385 BroswerLanguage = "nl-be";// Dutch (Belgium) 386 break; 387 case "en": 388 BroswerLanguage = "en";// English 389 break; 390 case "en-us": 391 BroswerLanguage = "en-us";// English (United States) 392 break; 393 case "en-gb": 394 BroswerLanguage = "en-gb";//English (United Kingdom) 395 break; 396 case "en-au": 397 BroswerLanguage = "en-au";// English (Australia) 398 break; 399 case "en-ca": 400 BroswerLanguage = "en-ca";// English (Canada) 401 break; 402 case "en-nz": 403 BroswerLanguage = "en-nz";// English (New Zealand) 404 break; 405 case "en-ie": 406 BroswerLanguage = "en-ie";// English (Ireland) 407 break; 408 case "en-za": 409 BroswerLanguage = "en-za";// English (South Africa) 410 break; 411 case "en-jm": 412 BroswerLanguage = "en-jm";// English (Jamaica) 413 break; 414 //case "en": 415 // BroswerLanguage = "en";// English (Caribbean) 416 // break; 417 case "en-bz": 418 BroswerLanguage = "en-bz";// English (Belize) 419 break; 420 case "en-tt": 421 BroswerLanguage = "en-tt";// English (Trinidad) 422 break; 423 case "et": 424 BroswerLanguage = "et";// Estonian 425 break; 426 case "fo": 427 BroswerLanguage = "fo";// Faeroese 428 break; 429 case "fa": 430 BroswerLanguage = "fa";// Farsi 431 break; 432 case "fi": 433 BroswerLanguage = "fi";// Finnish 434 break; 435 case "fr": 436 BroswerLanguage = "fr";// French (Standard) 437 break; 438 case "fr-be": 439 BroswerLanguage = "fr-be";// French (Belgium) 440 break; 441 case "fr-ca": 442 BroswerLanguage = "fr-ca";// French (Canada) 443 break; 444 case "fr-ch": 445 BroswerLanguage = "fr-ch";// French (Switzerland) 446 break; 447 case "fr-lu": 448 BroswerLanguage = "fr-lu";// French (Luxembourg) 449 break; 450 case "gd": 451 BroswerLanguage = "";// Gaelic (Scotland) 452 break; 453 case "gd-ie": 454 BroswerLanguage = "";// Gaelic (Ireland) 455 break; 456 case "de": 457 BroswerLanguage = "";// German (Standard) 458 break; 459 case "de-ch": 460 BroswerLanguage = "";// German (Switzerland) 461 break; 462 case "de-at": 463 BroswerLanguage = "";// German (Austria) 464 break; 465 case "de-lu": 466 BroswerLanguage = "";// German (Luxembourg) 467 break; 468 case "de-li": 469 BroswerLanguage = "";// German (Liechtenstein) 470 break; 471 case "el": 472 BroswerLanguage = "el";// Greek 473 break; 474 case "he": 475 BroswerLanguage = "he";// Hebrew 476 break; 477 case "hi": 478 BroswerLanguage = "hi";// Hindi 479 break; 480 case "hu": 481 BroswerLanguage = "hu";// Hungarian 482 break; 483 case "is": 484 BroswerLanguage = "is";// Icelandic 485 break; 486 case "id": 487 BroswerLanguage = "id";// Indonesian 488 break; 489 case "it": 490 BroswerLanguage = "it";// Italian (Standard) 491 break; 492 case "it-ch": 493 BroswerLanguage = "it-ch";// Italian (Switzerland) 494 break; 495 case "ja": 496 BroswerLanguage = "ja";// Japanese 497 break; 498 case "ko": 499 BroswerLanguage = "ko";// Korean /Korean (Johab) 500 break; 501 //case "ko": 502 // BroswerLanguage = "ko";// Korean (Johab) 503 // break; 504 case "lv": 505 BroswerLanguage = "lv";// Latvian 506 break; 507 case "lt": 508 BroswerLanguage = "lt";//Lithuanian 509 break; 510 case "mk": 511 BroswerLanguage = "mk";// FYRO Macedonian ms Malaysian 512 break; 513 case "mt": 514 BroswerLanguage = "mt";// Maltese 515 break; 516 case "no": 517 BroswerLanguage = "no";// Norwegian (Bokmal) 518 break; 519 //case "no": 520 // BroswerLanguage = "no";// Norwegian (Nynorsk) 521 // break; 522 case "pl": 523 BroswerLanguage = "pl";// Polish 524 break; 525 case "pt-br": 526 BroswerLanguage = "pt-br";// Portuguese (Brazil) 527 break; 528 case "pt": 529 BroswerLanguage = "pt";// Portuguese (Portugal) 530 break; 531 case "rm": 532 BroswerLanguage = "rm";// Rhaeto-Romanic 533 break; 534 case "ro": 535 BroswerLanguage = "ro";// Romanian 536 break; 537 case "ro-mo": 538 BroswerLanguage = "ro-mo";// Romanian (Moldavia) 539 break; 540 case "ru": 541 BroswerLanguage = "ru";// Russian 542 break; 543 case "ru-mo": 544 BroswerLanguage = "ru-mo";// Russian (Moldavia) 545 break; 546 case "sz": 547 BroswerLanguage = "sz";// Sami (Lappish) 548 break; 549 case "sr": 550 BroswerLanguage = "sr";// Serbian (Cyrillic) 551 break; 552 //case "sr": 553 // BroswerLanguage = "sr";// Serbian (Latin) 554 // break; 555 case "sk": 556 BroswerLanguage = "sk";// Slovak 557 break; 558 case "sl": 559 BroswerLanguage = "sl";// Slovenian 560 break; 561 case "sb": 562 BroswerLanguage = "sb";// Sorbian 563 break; 564 case "es": 565 BroswerLanguage = "es";// Spanish (Spain, traditional) 566 break; 567 //case "es": 568 // BroswerLanguage = "es";// Spanish (Spain, modern) 569 // break; 570 case "es-ar": 571 BroswerLanguage = "es-ar";// Spanish (Argentina) 572 break; 573 case "es-gt": 574 BroswerLanguage = "es-gt";// Spanish (Guatemala) 575 break; 576 case "es-cr": 577 BroswerLanguage = "es-cr";//Spanish (Costa Rica) 578 break; 579 case "es-pa": 580 BroswerLanguage = "es-pa";// Spanish (Panama) 581 break; 582 case "es-do": 583 BroswerLanguage = "es-do";// Spanish (Dominican Republic) 584 break; 585 case "es-mx": 586 BroswerLanguage = "es-mx";// Spanish (Mexico) 587 break; 588 case "es-ve": 589 BroswerLanguage = "es-ve";//Spanish (Venezuela) 590 break; 591 case "es-co": 592 BroswerLanguage = "es-co";// Spanish (Colombia) 593 break; 594 case "es-pe": 595 BroswerLanguage = "es-pe";// Spanish (Peru) 596 break; 597 case "es-ec": 598 BroswerLanguage = "es-ec";// Spanish (Ecuador) 599 break; 600 case "es-cl": 601 BroswerLanguage = "es-cl";// Spanish (Chile) 602 break; 603 case "es-uy": 604 BroswerLanguage = "es-uy";// Spanish (Uruguay) 605 break; 606 case "es-py": 607 BroswerLanguage = "es-py";// Spanish (Paraguay) 608 break; 609 case "es-bo": 610 BroswerLanguage = "es-bo";// Spanish (Bolivia) 611 break; 612 case "es-sv": 613 BroswerLanguage = "es-sv";// Spanish (El Salvador) 614 break; 615 case "es-hn": 616 BroswerLanguage = "es-hn";// Spanish (Honduras) 617 break; 618 case "es-ni": 619 BroswerLanguage = "es-ni";// Spanish (Nicaragua) 620 break; 621 case "es-pr": 622 BroswerLanguage = "es-pr";// Spanish (Puerto Rico) 623 break; 624 case "sx": 625 BroswerLanguage = "sx";// Sutu 626 break; 627 case "sv": 628 BroswerLanguage = "sv";// Swedish 629 break; 630 case "sv-fi": 631 BroswerLanguage = "sv-fi";// Swedish (Finland) 632 break; 633 case "th": 634 BroswerLanguage = "th";// Thai 635 break; 636 case "ts": 637 BroswerLanguage = "";// Tsonga 638 break; 639 case "tn": 640 BroswerLanguage = "tn";// Tswana 641 break; 642 case "tr": 643 BroswerLanguage = "tr";// Turkish 644 break; 645 case "uk": 646 BroswerLanguage = "uk";// Ukrainian 647 break; 648 case "ur": 649 BroswerLanguage = "ur";// Urdu 650 break; 651 case "ve": 652 BroswerLanguage = "ve";// Venda 653 break; 654 case "vi": 655 BroswerLanguage = "vi";// Vietnamese 656 break; 657 case "xh": 658 BroswerLanguage = "xh";// Xhosa 659 break; 660 case "ji": 661 BroswerLanguage = "ji";// Yiddish 662 break; 663 case "zu": 664 BroswerLanguage = "zu";//Zulu 665 break; 666 // case "": 667 // BroswerLanguage = "";// 668 // break; 669 //case "": 670 // BroswerLanguage = "";// 671 // break; 672 default: 673 BroswerLanguage = "NoData"; 674 break; 675 } 676 return BroswerLanguage; 677 678 //if (strClicent.Contains("zh-cn") == true) 679 //{ 680 // return BroswerLanguage = "zh-cn"; 681 //} 682 //if (strClicent.Contains("zh-tw") == true) 683 //{ 684 // return BroswerLanguage = "zh-tw"; 685 //} 686 //if (strClicent.Contains("zh-hk") == true) 687 //{ 688 // return BroswerLanguage = "zh-hk"; 689 //} 690 //if (strClicent.Contains("zh-sg") == true) 691 //{ 692 // return BroswerLanguage = "zh-sg"; 693 //} 694 //else if (strClicent.Contains("en-us") == true) 695 //{ 696 // return BroswerLanguage = "en-us"; 697 //} 698 //else 699 //{ 700 // return BroswerLanguage = "NoData"; 701 //} 702 703 } 704 }

 

Windows hosts x86/AMD64
OS X hosts Intel Macs
Solaris and OpenSolaris hosts x86/AMD64

Linux Hosts:
Ubuntu 13.04 ("Raring Ringtail") / 13.10 ("Saucy Salamander") i386 | AMD64
Ubuntu 12.10 ("Quantal Quetzal") i386 | AMD64
Ubuntu 12.04 ("Precise Pangolin") i386 | AMD64
Ubuntu 11.10 ("Oneiric Oncelot") i386 | AMD64
Ubuntu 11.04 ("Natty Narval") i386 | AMD64
Ubuntu 10.04 LTS ("Lucid Lynx") i386 | AMD64
Ubuntu 8.04 LTS ("Hardy Heron") i386 | AMD64
Debian 7.0 ("Wheezy") i386 | AMD64
Debian 6.0 ("Squeeze") i386 | AMD64
openSUSE 11.4 / 12.1 / 12.2 i386 | AMD64
SUSE Linux Enterprise Server 11 (SLES11) i386 | AMD64
SUSE Linux Enterprise Server 10 (SLES10) i386 | AMD64
Fedora 18 ("Spherical Cow") i386 | AMD64
Fedora 17 ("Beefy Miracle") i386 | AMD64
Fedora 16 ("Verne") i386 | AMD64
Mandriva 2011.0 i386 | AMD64
Mandriva 2010.0 / 2010.1 i386 | AMD64
Oracle Linux 6 ("OL6") / Red Hat Enterprise Linux 6 ("RHEL6") / CentOS 6 i386 | AMD64
Oracle Linux 5 ("OL5") / Red Hat Enterprise Linux 5 ("RHEL5") / CentOS 5 i386 | AMD64
Oracle Linux 4 ("OL4") / Red Hat Enterprise Linux 4 ("RHEL4") / CentOS 4 i386

你可能感兴趣的:(Csharp:字符串操作)