本文整理汇总了C#中KacTalk.ktString.Find方法的典型用法代码示例。如果您正苦于以下问题:C# ktString.Find方法的具体用法?C# ktString.Find怎么用?C# ktString.Find使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KacTalk.ktString
的用法示例。
在下文中一共展示了ktString.Find方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Matches
// Match and compare...
// Find, but with a mask (using ? and *)
public bool Matches(ktString Mask)
{
/* ** <note>
For now we just cross our fingers and hopes that this function (/method?)
actually works. We haven't runned this code yet.
(BTW this goes with most of the whole class...)</note>
***/
bool Match = false;
bool GoOn = true;
int Pos;
ktTripple Joker = 0; // 1 == * and 2 == ?
ktString MatchTmp;
ktString Str = new ktString(GetValue());
// Don't stop until we say so
while (GoOn)
{
Joker = 0;
// If there's no more "Joker"
if ((Pos = ktRegEx.Find(Mask.GetValue(), "\\*|\\?")) < 0)
{
// If (the rest of) the mask matches the string
if (Mask == Str)
{
// Stop looping
GoOn = false;
// And "OK it"
Match = true;
}
else
{
// Stop looping
GoOn = false;
// Didn' match...
Match = false;
}
}
else
{
// Find a "Joker" and get everything infront of it
MatchTmp = Mask.SubStr(0, Pos);
// Remove what we got from the mask
Mask.Remove(0, MatchTmp.Length());
// Chech the "Joker"
// If the first char is * in the "new mask"
// then indicate that
if (Mask.First() == '*')
Joker = 1;
// Or if it's ?...
else
Joker = 2;
// Remove the "Joker"
Mask.RemoveFirst();
// If this part of the mask doesn't match... (simply not a match)
if ((!MatchTmp.IsEmpty()) && (MatchTmp != Str.SubStr(0, MatchTmp.Length())))
{
// Stop looping
GoOn = false;
Match = false;
}
else
{
// As we now that this part of the mask matches the string
// Remove that part from the string
Str.Remove(0, MatchTmp.Length());
// If the "Joker" is *
if (Joker == 1)
{
// Get the position of the next "Joker"
Pos = ktRegEx.Find(Mask.GetValue(), "\\*|\\?");
// If we didn't find a new "Joker"
if (Pos < 0)
{
// get the length of the rest of the mask ("find the end")
Pos = Mask.Length();
// If Pos is 0
if (Pos == 0)
// No more mask...
Pos = -1;
}
// If Pos is less than 0
// This (should) means that the * was the last thing in
// the mask and should therefor match the rest of the string
if (Pos < 0)
{
// Stop looping
GoOn = false;
// It's a match...
Match = true;
//.........这里部分代码省略.........
示例2: Length
// Properties....
// Length of the string
/*public int Length
{
get
{
return Length();
}
}*/
//// Private...
// Check if Ch is an alpha character (or one of the "added ones")
private bool IsAlpha(char Ch, ktString AddedChars)
{
// Check if the char is valid
switch (Ch)
{
case 'a':
case 'A':
case 'b':
case 'B':
case 'c':
case 'C':
case 'd':
case 'D':
case 'e':
case 'E':
case 'f':
case 'F':
case 'g':
case 'G':
case 'h':
case 'H':
case 'i':
case 'I':
case 'j':
case 'J':
case 'k':
case 'K':
case 'l':
case 'L':
case 'm':
case 'M':
case 'n':
case 'N':
case 'o':
case 'O':
case 'p':
case 'P':
case 'q':
case 'Q':
case 'r':
case 'R':
case 's':
case 'S':
case 't':
case 'T':
case 'u':
case 'U':
case 'v':
case 'V':
case 'w':
case 'W':
case 'x':
case 'X':
case 'y':
case 'Y':
case 'z':
case 'Z':
{
return true;
}
// Not a-z or A-Z
default:
{
if (AddedChars != "")
{
ktString s_chr = " ";
s_chr[0] = Ch;
if (AddedChars.Find(s_chr) >= 0)
{
return true;
}
}
return false;
}
}
}