我有一個包含類似下面的字符串值一個變量:驗證變量包含字符串值
var stringWithSpecialChar = "/Home%";
有時這種變量不包含像下面的任何值:
var stringWithSpecialChar = "/%";
我要在這裏檢查是否這個變量是否包含字符串值。 每次字符串值都在變化,所以不確定我會再次獲得相同的值。
我有一個包含類似下面的字符串值一個變量:驗證變量包含字符串值
var stringWithSpecialChar = "/Home%";
有時這種變量不包含像下面的任何值:
var stringWithSpecialChar = "/%";
我要在這裏檢查是否這個變量是否包含字符串值。 每次字符串值都在變化,所以不確定我會再次獲得相同的值。
我不明白什麼是你的問題的有效價值,所以:
下面的代碼使用,如果一個有效的價值,是一些字母或數字的一些的值:
using System.Linq;
if (str.Any(char.IsLetterOrDigit)
{
//Some codes
}
不過我建議你;用於檢查有效或無效的字符串使用Regex
這樣的:
using System.Text.RegularExpressions;
var regex = new Regex(@"[A-Za-z]"); // You have many options here
if (regex.IsMatch(str))
{
//Some codes
}
沙,你的建議爲我工作。我贊成你的答案。正則表達式對我來說很好。 – Vikash
不客氣;)。 –
你可以這樣做,對你的變量做一個foreach循環來檢查它是否會看到一個字符串或字母。檢查
var stringWithSpecialChar = "/Home%";
bool blStringInput;
blStringInput = IsThisString(stringWithSpecialChar);
方法是否會看到一個字符串值:
public static bool IsThisString(string strInput)
{
foreach (char c in strInput)
{
if (char.IsLetter(c))
return true;
}
return false;
}
那麼,如果它檢測到字符串中的非字母字符,將返回false :) –
誤讀您的代碼! - 使用LinQ:'blStringInput = str.Any(char.IsLetter);';) –
這也會做到這一點;)@ shA.t –
下面是一個簡單的實現你的問題。我認爲在/
和%
之間的任何內容都是一個字符串[它可能包含數字,字母或特殊字符]。另外,我在函數中包含了一個檢查字符串是否有效的方法,通過檢查它是否分別以/
和%
開始和結束。
using System;
class MainClass {
public static void Main (string[] args) {
var stringWithSpecialChar = "/Home%";
bool ans = checkIfStringIsPresent(stringWithSpecialChar);
Console.WriteLine(ans);
stringWithSpecialChar = "/%";
ans = checkIfStringIsPresent(stringWithSpecialChar);
Console.WriteLine(ans);
stringWithSpecialChar = "/hi%";
ans = checkIfStringIsPresent(stringWithSpecialChar);
Console.WriteLine(ans);
stringWithSpecialChar = "/12#%";
ans = checkIfStringIsPresent(stringWithSpecialChar);
Console.WriteLine(ans);
}
public static bool checkIfStringIsPresent(string s){
var len = s.Length;
if(s[0]!='/' || s[len-1]!='%')
return false; // if string doesn't start and and with correct symbols, then return false
var i = 0;
for(i=1;i<len-1;i++){
return true; // something is present in between/and %, so return true
}
return false; // else return false
}
}
輸出:
True
False
True
True
如果您知道特殊字符和知道他們在開始時和string
末,可以使用Trim()
:
var stringWithSpecialChar = "/Home%";
var value = stringWithSpecialChar.Trim('/', '%');
if(!string.IsNullOrEmpty(value))
// Use value...
一根據您的需要也可以使用string.IsNullOrWhiteSpace(value)
。
你需要捕獲「/」和「%」之間有什麼嗎? –
您對*有效值*的定義是什麼? –