我需要一个与用户输入字符串匹配的正则表达式.这有点难以解释,所以让我说明我的意思:
它应匹配此字符串:
"XXXX units",其中XXXX是任何数字.
但它也应匹配该字符串开头的任何子字符串,因此:
"123"
"123 u"
"123 uni"
Run Code Online (Sandbox Code Playgroud)
也应该匹配.
但当然,这不应该匹配:
"123 xx"
Run Code Online (Sandbox Code Playgroud)
看起来很简单,但我无法弄明白.这是我最接近的:
^\d+ ?u?n?i?t?s?
Run Code Online (Sandbox Code Playgroud)
...但不幸的是,它也匹配像"123us"这样的字符串.
有人可以帮忙吗?这是javascript,所以我可能会因为缺少外观/前方功能而受到限制......
我需要使用Excel条件格式字符串来格式化.Net应用程序中的数字.对于那些不熟悉它们的人,Excel格式字符串如下所示:
[>=2]#,##0.0;[<=-2]-#,##0.0;#,##0.00
Run Code Online (Sandbox Code Playgroud)
...应该被解释为"对于大于2的数字使用第一种格式,对于低于-2的数字使用第二种格式,对于其他所有数字使用第三种格式".
在我继续构建自己的自定义格式字符串解析器之前,是否有人知道在.Net中是否有类似的内容我可以使用?我知道有 - 格式字符串的分隔符,但据我所知,它似乎无法考虑超出"负/正/零"的条件.
显然试图在这里简化问题.我有一个基类和一些派生类:
public class Mammal { }
public class Cat : Mammal { }
public class Dog : Mammal { }
Run Code Online (Sandbox Code Playgroud)
和实用类:
public static class AnotherClass
{
public static void GiveFood(Cat cat) {}
public static void GiveFood(Dog dog) {}
}
Run Code Online (Sandbox Code Playgroud)
在其他地方是一个方法,Feed,它需要一个哺乳动物,从那里我想在AnotherClass上调用正确的重载:
public void Feed(Mammal mammal) {
// if mammal is a cat, call the AnotherClass.GiveFood overload for cat,
// if it's a dog, call the AnotherClass.GiveFood for dog, etc.
}
Run Code Online (Sandbox Code Playgroud)
一种方法是做类似的事情:
public void Feed(Mammal mammal) {
if (mammal is dog)
AnotherClass.GiveFood((Dog)mammal); …Run Code Online (Sandbox Code Playgroud) 我想取一个字符串并从0-9生成一个数字.我得到的数字不一定是可预测的,但相同的字符串必须始终生成相同的数字.
我最初的想法是只做string.GetHashCode()并从代码中取最后一位数字.
如果我这样做了,我(a)是否会保证总是以相同的字符串结束同一个字符串,并且我(b)会在0-9之间得到合理均匀的数字分布吗?
或者,有没有更好的方法来实现我想要的?