你怎么能写一个函数/正则表达式给你第一个字符块+第一个不用空格分隔的数字而忽略其余的? 以下是给定不同字符串(“input” - >“result”)结果应该是什么样子的一些示例:
registerActivityLifecycleCallbacks(new OnApplicationForegroundBackgroundEnterCallbacks(this));
答案 0 :(得分:2)
单向(单词包含a-z - )
$.when.apply($, deferreds).then(
function() {
var n;
for (n = 0; n < arguments.length; ++n) {
console.log("Result " + n, arguments[n][0]);
}
},
function() {
// At least one request failed
}
);
答案 1 :(得分:1)
这是使用TakeWhile
和SkipWhile
方法的LINQ解决方案。 (我测试了你所有的参赛作品并且有效):
string str = "abc 11 3";
var result = string.Concat(string.Join("", str.TakeWhile(c => !char.IsDigit(c))),
string.Join("", str.SkipWhile(c => !char.IsDigit(c)).TakeWhile(char.IsDigit)));
不要忘记先将using System.Linq;
添加到using
指令中。
答案 2 :(得分:1)
class Program
{
static void Main(string[] args)
{
string[] Value = new string[] {
"abc 1",
"abc def 1",
"abc-def 1",
"abc 1b",
"abc 11 b3",
"abc 11 3",
"abc 11b"
};
foreach (string value in Value)
{
Match match = Regex.Match(value, @"^([A-Za-z-]+) (\d+)");
if (match.Success)
{
var word = match.Groups[1].Value;
var num = match.Groups[2].Value;
Console.WriteLine(word + " " + num);
}
}
}
}
//abc 1
//abc-def 1
//abc 1
//abc 11
//abc 11
//abc 11
答案 3 :(得分:0)
这应该有用......
^(.*)[0-9]