我的程序有大约25个条目,其中大多数只是字符串。但是,其中一些应该有数字,我不需要输出中的那些数字(输出应该只是字符串)。那么,如何从字符串中“过滤掉”整数?
另外,如果我有整数,字符串和字符,我该怎么做(例如,一个ListBox
条目是E#2
,应该重命名为E#
然后打印作为输出)?
答案 0 :(得分:1)
您可以使用此LINQ解决方案删除字符串中的所有数字:
string numbers = "Ho5w ar7e y9ou3?";
string noNumbers = new string(numbers.Where(c => !char.IsDigit(c)).ToArray());
noNumbers = "How are you?"
但您也可以使用foreach循环删除字符串中的所有数字:
string numbers = "Ho5w ar7e y9ou3?";
List<char> noNumList = new List<char>();
foreach (var c in numbers)
{
if (!char.IsDigit(c))
noNumList.Add(c);
}
string noNumbers = string.Join("", noNumList);
如果要删除集合中字符串的所有数字:
List<string> myList = new List<string>() {
"Ho5w ar7e y9ou3?",
"W9he7re a3re y4ou go6ing?",
"He2ll4o!"
};
List<char> noNumList = new List<char>();
for (int i = 0; i < myList.Count; i++)
{
foreach (var c in myList[i])
{
if(!char.IsDigit(c))
noNumList.Add(c);
}
myList[i] = string.Join("", noNumList);
noNumList.Clear();
}
myList 输出:
"How are you?"
"Where are you going?"
"Hello!"
答案 1 :(得分:1)
假设您的条目位于List<string>
,您可以遍历列表,然后遍历每个条目的每个字符,然后检查它是否为数字并将其删除。像这样:
List<string> list = new List<string>{ "abc123", "xxx111", "yyy222" };
for (int i = 0; i < list.Count; i++) {
var no_numbers = "";
foreach (char c in list[i]) {
if (!Char.IsDigit(c))
no_numbers += c;
}
list[i] = no_numbers;
}
这只会删除您想要的数字。如果要删除除字母之外的所有其他字符,可以稍微更改一下逻辑并使用{{1}}代替Char.IsLetter()
。
答案 2 :(得分:1)
我不确切知道你的场景是什么,但是给定一个字符串,你可以遍历它的字符,如果它是一个数字,则从输出中丢弃它。
也许这就是你要找的东西:
string entry = "E#2";
char[] output = new char[entry.Length];
for(int i = 0, j =0; i < entry.Length ; i++)
{
if(!Char.IsDigit(entry[i]))
{
output[j] = entry[i];
j++;
}
}
Console.WriteLine(output);
我试图给你一个带有一个循环和两个索引变量的简单解决方案,避免可能导致性能不足的字符串连接。
工作的示例答案 3 :(得分:0)
如果我没有错,也许这就是你的名单的样子?
<script>
$('#a').on('click',function(event){
event.preventDefault();
swal({
title: "Are you sure?",
text: "Once deleted, you will not be able to recover this imaginary file!",
icon: "warning",
buttons: true,
dangerMode: true,
})
.then((willDelete) => {
if (willDelete) {
# delete row
# show swal and redirect to your link
} else {
swal("Your imaginary file is safe!");
}
});
})
</script>
您的预期输出是:
ABCD123
EFGH456
这是正确的吗?如果是,假设它是ABCD
EFGH
,那么您可以使用以下代码:
List<string>
现在您可以轻松组合代码:)