split.n
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:3k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1993 The Regents of the University of California.
  3. '" Copyright (c) 1994-1996 Sun Microsystems, Inc.
  4. '"
  5. '" See the file "license.terms" for information on usage and redistribution
  6. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  7. '" 
  8. '" RCS: @(#) $Id: split.n,v 1.3.18.1 2004/10/27 14:23:58 dkf Exp $
  9. '" 
  10. .so man.macros
  11. .TH split n "" Tcl "Tcl Built-In Commands"
  12. .BS
  13. '" Note:  do not modify the .SH NAME line immediately below!
  14. .SH NAME
  15. split - Split a string into a proper Tcl list
  16. .SH SYNOPSIS
  17. fBsplit fIstring fR?fIsplitCharsfR?
  18. .BE
  19. .SH DESCRIPTION
  20. .PP
  21. Returns a list created by splitting fIstringfR at each character
  22. that is in the fIsplitCharsfR argument.
  23. Each element of the result list will consist of the
  24. characters from fIstringfR that lie between instances of the
  25. characters in fIsplitCharsfR.
  26. Empty list elements will be generated if fIstringfR contains
  27. adjacent characters in fIsplitCharsfR, or if the first or last
  28. character of fIstringfR is in fIsplitCharsfR.
  29. If fIsplitCharsfR is an empty string then each character of
  30. fIstringfR becomes a separate element of the result list.
  31. fISplitCharsfR defaults to the standard white-space characters.
  32. .SH EXAMPLES
  33. Divide up a USENET group name into its hierarchical components:
  34. .CS
  35. fBsplitfR "comp.lang.tcl.announce" .
  36.      fI=> comp lang tcl announcefR
  37. .CE
  38. .PP
  39. See how the fBsplitfR command splits on fIeveryfR character in
  40. fIsplitCharsfR, which can result in information loss if you are not
  41. careful:
  42. .CS
  43. fBsplitfR "alpha beta gamma" "temp"
  44.      fI=> al {ha b} {} {a ga} {} afR
  45. .CE
  46. .PP
  47. Extract the list words from a string that is not a well-formed list:
  48. .CS
  49. fBsplitfR "Example with {unbalanced brace character"
  50.      fI=> Example with \{unbalanced brace characterfR
  51. .CE
  52. .PP
  53. Split a string into its constituent characters
  54. .CS
  55. fBsplitfR "Hello world" {}
  56.      fI=> H e l l o { } w o r l dfR
  57. .CE
  58. .SH "PARSING RECORD-ORIENTED FILES"
  59. Parse a Unix /etc/passwd file, which consists of one entry per line,
  60. with each line consisting of a colon-separated list of fields:
  61. .CS
  62. ## Read the file
  63. set fid [open /etc/passwd]
  64. set content [read $fid]
  65. close $fid
  66. ## Split into records on newlines
  67. set records [fBsplitfR $content "\n"]
  68. ## Iterate over the records
  69. foreach rec $records {
  70.    ## Split into fields on colons
  71.    set fields [fBsplitfR $rec ":"]
  72.    ## Assign fields to variables and print some out...
  73.    lassign $fields \
  74.          userName password uid grp longName homeDir shell
  75.    puts "$longName uses [file tail $shell] for a login shell"
  76. }
  77. .CE
  78. .SH "SEE ALSO"
  79. join(n), list(n), string(n)
  80. .SH KEYWORDS
  81. list, split, string