/usr/share/doc/pyxplot/html/sec-stringsubop.html is in pyxplot-doc 0.9.2-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta name="generator" content="plasTeX" />
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<title>PyXPlot Users' Guide: The string substitution operator</title>
<link href="sect0037.html" title="Converting strings to numbers" rel="next" />
<link href="sec-stringvars.html" title="Strings" rel="prev" />
<link href="sec-stringvars.html" title="Strings" rel="up" />
<link rel="stylesheet" href="styles/styles.css" />
</head>
<body>
<div class="navigation">
<table cellspacing="2" cellpadding="0" width="100%">
<tr>
<td><a href="sec-stringvars.html" title="Strings"><img alt="Previous: Strings" border="0" src="icons/previous.gif" width="32" height="32" /></a></td>
<td><a href="sec-stringvars.html" title="Strings"><img alt="Up: Strings" border="0" src="icons/up.gif" width="32" height="32" /></a></td>
<td><a href="sect0037.html" title="Converting strings to numbers"><img alt="Next: Converting strings to numbers" border="0" src="icons/next.gif" width="32" height="32" /></a></td>
<td class="navtitle" align="center">PyXPlot Users' Guide</td>
<td><a href="index.html" title="Table of Contents"><img border="0" alt="" src="icons/contents.gif" width="32" height="32" /></a></td>
<td><a href="sect0288.html" title="Index"><img border="0" alt="" src="icons/index.gif" width="32" height="32" /></a></td>
<td><img border="0" alt="" src="icons/blank.gif" width="32" height="32" /></td>
</tr>
</table>
</div>
<div class="breadcrumbs">
<span>
<span>
<a href="index.html">PyXPlot Users' Guide</a> <b>:</b>
</span>
</span><span>
<span>
<a href="sect0001.html">Introduction to PyXPlot</a> <b>:</b>
</span>
</span><span>
<span>
<a href="chap-progDataTypes.html">Programming: Pyxplot’s data types</a> <b>:</b>
</span>
</span><span>
<span>
<a href="sec-stringvars.html">Strings</a> <b>:</b>
</span>
</span><span>
<span>
<b class="current">The string substitution operator</b>
</span>
</span>
<hr />
</div>
<div><h2 id="sec:stringsubop">6.2.1 The string substitution operator</h2>
<p>Most string manipulations are performed using the string substitution operator, <tt class="tt">%</tt><a name="a0000000603" id="a0000000603"></a>, which performs a similar role to the <tt class="tt">sprintf</tt> statement in C. </p><p>This operator should be preceded by a format string, such as <tt class="tt">’x=%f’</tt>, in which tokens such as <tt class="tt">%f</tt> mark places where numbers and strings should be substituted. The substitution operator is followed by a bracketed list of the quantities which should be substituted in place of these tokens. This behaviour is similar to that of the Python programming language’s % operator<a href="#a0000000604" class="footnote"><sup class="footnotemark">1</sup></a> </p><p>For example, to concatenate the two strings contained in the variables <tt class="tt">a</tt> and <tt class="tt">b</tt> into a single string variable <tt class="tt">c</tt>, one would issue the command:<a name="a0000000605" id="a0000000605"></a> </p><pre>
c = "%s%s"%(a,b)
</pre><p>One application of this operator might be to label plots with the title of the data file being plotted, as in the following example: </p><pre>
filename="data_file.dat"
title=r"A plot of the data in {\tt %s}."%filename
set title title
plot filename
</pre><p>The syntax of the substitution tokens placed in the format string is similar to that used by many other languages (including C and Python). All substitution tokens begin with a <tt class="tt">%</tt> character, after which there may be placed, in order: </p><ol class="enumerate">
<li><p>An optional minus sign, to specify that the substituted item should be left-justified. </p></li><li><p>An optional integer specifying the minimum character width of the substituted item, or a <tt class="tt">*</tt> (see below). </p></li><li><p>An optional decimal point/period (<tt class="tt">.</tt>) separator. </p></li><li><p>An optional integer, or a <tt class="tt">*</tt> (see below), specifying either (a) the maximum number of characters to be printed from a string, or (b) the number of decimal places of a floating-point number to be displayed, or (c) the minimum number of digits of an integer to be displayed, padded to the left with zeros. </p></li><li><p>A conversion character. </p></li>
</ol><p>The conversion character is a single character which specifies what kind of substitution should take place. Its possible values are listed in Table <a href="sec-stringsubop.html#tab:conversion_chars">6.2</a>. </p><div id="tab:conversion_chars" class="table"><center> <table cellspacing="0" class="tabular">
<tr>
<td style="border-top-style:solid; text-align:left; border-top-color:black; border-top-width:1px; border-left:1px solid black"><p> <b class="bf">Character</b> </p></td>
<td style="border-top-style:solid; text-align:left; border-top-color:black; border-top-width:1px; border-right:1px solid black"><p> <b class="bf">Substitutes</b> </p></td>
</tr><tr>
<td style="border-top-style:solid; text-align:left; border-top-color:black; border-top-width:1px; border-left:1px solid black"><p><tt class="tt">d</tt>, <tt class="tt">i</tt> </p></td>
<td style="border-top-style:solid; text-align:left; border-top-color:black; border-top-width:1px; border-right:1px solid black"><p> An integer value. </p></td>
</tr><tr>
<td style="text-align:left; border-left:1px solid black"><p><tt class="tt">e</tt>, <tt class="tt">E</tt> </p></td>
<td style="text-align:left; border-right:1px solid black"><p> A floating-point value in scientific notation using either the character <tt class="tt">e</tt> or <tt class="tt">E</tt> to indicate exponentiation. </p></td>
</tr><tr>
<td style="text-align:left; border-left:1px solid black"><p><tt class="tt">f</tt> </p></td>
<td style="text-align:left; border-right:1px solid black"><p> A floating-point value without the use of scientific notation. </p></td>
</tr><tr>
<td style="text-align:left; border-left:1px solid black"><p><tt class="tt">g</tt>, <tt class="tt">G</tt> </p></td>
<td style="text-align:left; border-right:1px solid black"><p> A floating-point value, either using scientific notation, if the exponent is greater than the precision or less than <img src="images/img-0292.png" alt="$-4$" style="vertical-align:0px;
width:22px;
height:12px" class="math gen" />, otherwise without the use of scientific notation. </p></td>
</tr><tr>
<td style="text-align:left; border-left:1px solid black"><p><tt class="tt">o</tt> </p></td>
<td style="text-align:left; border-right:1px solid black"><p> An integer value in octal (base 8). </p></td>
</tr><tr>
<td style="text-align:left; border-left:1px solid black"><p><tt class="tt">s</tt>, <tt class="tt">S</tt>, <tt class="tt">c</tt> </p></td>
<td style="text-align:left; border-right:1px solid black"><p> A string, if a string is provided, or a numerical quantity, with units, if such is provided. </p></td>
</tr><tr>
<td style="text-align:left; border-left:1px solid black"><p><tt class="tt">x</tt>, <tt class="tt">X</tt> </p></td>
<td style="text-align:left; border-right:1px solid black"><p> An integer value in hexadecimal (base 16). </p></td>
</tr><tr>
<td style="border-bottom-color:black; border-bottom-width:1px; text-align:left; border-bottom-style:solid; border-left:1px solid black"><p><tt class="tt">%</tt> </p></td>
<td style="border-bottom-color:black; border-bottom-width:1px; text-align:left; border-bottom-style:solid; border-right:1px solid black"><p> A literal <tt class="tt">%</tt> sign. </p></td>
</tr>
</table> </center><div class="caption"><b>Table 6.2</b>: <span>The conversion characters recognised by the string substitution operator, <tt class="tt">%</tt>.</span></div></div><p>Where the character <tt class="tt">*</tt> is specified for either the character width or the precision of the substitution token, an integer is read from the list of items to be substituted, as happens in C’s <tt class="tt">printf</tt> command: </p><p> <tt class="ttfamily">pyxplot> <b class="bfseries">print "%.*f"%(3,pi)</b></tt><br /><tt class="ttfamily">3.142</tt><br /><tt class="ttfamily">pyxplot> <b class="bfseries">print "%.*f"%(6,pi)</b></tt><br /><tt class="ttfamily">3.141593</tt> </p></div>
<div id="footnotes">
<p><b>Footnotes</b></p>
<ol>
<li id="a0000000604">As in Python, the brackets are optional when only one item is being substituted. For example, <tt class="tt">’%d’%2</tt> is equivalent to <tt class="tt">’%d’%(2)</tt>.</li>
</ol>
</div>
<div class="navigation">
<table cellspacing="2" cellpadding="0" width="100%">
<tr>
<td><a href="sec-stringvars.html" title="Strings"><img alt="Previous: Strings" border="0" src="icons/previous.gif" width="32" height="32" /></a></td>
<td><a href="sec-stringvars.html" title="Strings"><img alt="Up: Strings" border="0" src="icons/up.gif" width="32" height="32" /></a></td>
<td><a href="sect0037.html" title="Converting strings to numbers"><img alt="Next: Converting strings to numbers" border="0" src="icons/next.gif" width="32" height="32" /></a></td>
<td class="navtitle" align="center">PyXPlot Users' Guide</td>
<td><a href="index.html" title="Table of Contents"><img border="0" alt="" src="icons/contents.gif" width="32" height="32" /></a></td>
<td><a href="sect0288.html" title="Index"><img border="0" alt="" src="icons/index.gif" width="32" height="32" /></a></td>
<td><img border="0" alt="" src="icons/blank.gif" width="32" height="32" /></td>
</tr>
</table>
</div>
<script language="javascript" src="icons/imgadjust.js" type="text/javascript"></script>
</body>
</html>
|