基于以下XML,在XSL中实现字母数字排序的最佳方法是什么?
编辑:为了澄清,下面的XML只是一个简单的示例,真正的XML将包含更多的变量值.
<colors>
<item>
<label>Yellow 100</label>
</item>
<item>
<label>Blue 12</label>
</item>
<item>
<label>Orange 3</label>
</item>
<item>
<label>Yellow 10</label>
</item>
<item>
<label>Orange 26</label>
</item>
<item>
<label>Blue 117</label>
</item>
</colors>
Run Code Online (Sandbox Code Playgroud)
我想按此顺序获得最终结果:
Blue 12, Blue 117, Orange 3, Orange 26, Yellow 10, Yellow 100
Run Code Online (Sandbox Code Playgroud)
这是" 有效 "我想要的.
<xsl:apply-templates select="colors/item">
<xsl:sort select="label" data-type="text" order="ascending"/><!--1st sort-->
<xsl:sort select="label" data-type="number" order="ascending"/><!--2nd sort-->
</xsl:apply-templates>
<xsl:template match="item">
<xsl:value-of select="label"/>
<xsl:if test="position() != last()">,</xsl:if>
</xsl:template>
Run Code Online (Sandbox Code Playgroud) 我需要生成一个随机的字母数字字符串,该字符串对于phpmyadmin中某个表中特定列中的所有值都是唯一的.另外,我需要它长20个字符.有许多这样的问题已经发布但我没有看到任何需要phpmyadmin中的列唯一的字符串.
那我怎么在php中这样做呢?
我正在努力缩短网址.我基于这一个https://github.com/phpmasterdotcom/BuildingYourOwnURLShortener并且或多或少地使用该函数来创建短代码,因为我自己无法提出算法:
<?php
convertIntToShortCode($_GET["id"]); // Test codes
function convertIntToShortCode($id) {
$chars = "123456789bcdfghjkmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ";
$id = intval($id);
if ($id < 1) {
echo "ERROR1";
}
$length = strlen($chars);
// make sure length of available characters is at
// least a reasonable minimum - there should be at
// least 10 characters
if ($length < 10) {
echo "ERROR2";
}
$code = "";
while ($id > $length - 1) {
// determine the value of the next higher character
// in …Run Code Online (Sandbox Code Playgroud) 我有一个方法可以生成Coupon Code. 任何人都可以帮助/建议生成ALPHANUMERIC CODE吗?
以下是方法:
public string CouponGenerator(int length)
{
var sb = new StringBuilder();
for (var i = 0; i < length; i++)
{
var ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * _random.NextDouble() + 65)));
sb.Append(ch);
}
return sb.ToString();
}
private static readonly Random _random = new Random();
Run Code Online (Sandbox Code Playgroud)
例子:
UZWKXQML 当 Lenght 设置为 8 时
但它需要像U6WK8Q2Lie 字母数字代码这样的东西。
我试图从Python字符串中的数字中分离出非数字。数字可以包括浮点数。
Original String Desired String
'4x5x6' '4 x 5 x 6'
'7.2volt' '7.2 volt'
'60BTU' '60 BTU'
'20v' '20 v'
'4*5' '4 * 5'
'24in' '24 in'
Run Code Online (Sandbox Code Playgroud)
这是一个很好的关于如何在PHP中实现这一目标的线程:
我想在Python中操纵上述字符串。
以下代码在第一个示例中有效,但在其他示例中无效:
new_element = []
result = [re.split(r'(\d+)', s) for s in (unit)]
for elements in result:
for element in elements:
if element != '':
new_element.append(element)
new_element = ' '.join(new_element)
break
Run Code Online (Sandbox Code Playgroud) 给定以下数组:
y = %w[A1 A2 B5 B12 A6 A8 B10 B3 B4 B8]
=> ["A1", "A2", "B5", "B12", "A6", "A8", "B10", "B3", "B4", "B8"]
Run Code Online (Sandbox Code Playgroud)
预期的排序数组为:
=> ["A1", "A2", "A6", "A8", "B3", "B4", "B5", "B8", "B10", "B12"]
Run Code Online (Sandbox Code Playgroud)
使用以下(香草)排序,我得到:
irb(main):2557:0> y.sort{|a,b| puts "%s <=> %s = %s\n" % [a, b, a <=> b]; a <=> b}
A1 <=> A8 = -1
A8 <=> B8 = -1
A2 <=> A8 = -1
B5 <=> A8 = 1
B4 <=> A8 = 1
B3 …Run Code Online (Sandbox Code Playgroud) 我正在开发一个iPhone应用程序,需要确保输入的文本只包含一个到z和数字.
我不希望用户使用其他语言字母,如上面带有重音符号或点的字母.
编辑:我是这个RegEx的新手,所以如果你能给我一个代码或链接,我将非常感激.
我不是正则表达式的专家,但我需要解析一些我无法控制的输入,并确保我过滤掉任何没有Az和/或0-9的字符串.
当我跑这个,
Pattern p = Pattern.compile("^[a-zA-Z0-9]*$"); //fixed typo
if(!p.matcher(gottenData).matches())
System.out.println(someData); //someData contains gottenData
Run Code Online (Sandbox Code Playgroud)
某些空格+一个未知的符号以某种方式滑过过滤器(gottenData是红色矩形):

如果你想知道,它也显示文本,它不是那样的.
现在,我不介意[?],只要它还包含一些字符串.
请帮忙.
[编辑]据我所知(非常大)输入,[?]是白色空格要么根本没有; 也许有某种编码问题,也许与#text节点有关(输入是xml)
我写了一个程序来计算文本文件中的字母数字字符数.但是,它返回的数字总是大于在线字符计数器返回的数字.
例如,程序将计算此文本中的字母数字字符数:
如果这些人有奇怪的时尚和对最特别的事情的期望服从,他们至少准备为他们的怪癖付出代价
再次运行程序,它会说文本中有164个字符.再次运行,它会说有156个字符.使用这个在线字符计数器,似乎字符数应该低于144(在线字符计数器也包括空格).
这是代码:
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
int main() {
char line[100];
int charcount = 0;
ifstream file("pg1661sample.txt");
while (!file.eof()) {
file.getline(line, 99);
for (int i = 0; i < 100; i++) {
if (isalnum(line[i])) {
charcount++;
}
}
}
cout << endl << "Alphanumeric character count: " << charcount;
cin.get();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我是C#的新手.我有一个简短的表单和一个长形式的客户端代码.短格式是一些字母字符和一些数字字符(ABC12),而长格式总是15个字符长,alpha和数字部分之间的空格用零填充(ABC000000000012).我需要能够从短格式转换为长格式.下面的代码就是我如何使用它 - 这是最好的方法吗?
public string ExpandCode(string s)
{
// s = "ABC12"
int i = 0;
char c;
bool foundDigit = false;
string o = null;
while (foundDigit == false)
{
c = Convert.ToChar(s.Substring(i, 1));
if (Char.IsDigit(c))
{
foundDigit = true;
o = s.Substring(0, i) + new String('0', 15-s.Length) + s.Substring(i,s.Length-i);
}
i += 1;
}
return (o); //o = "ABC000000000012"
}
Run Code Online (Sandbox Code Playgroud)