答えて
EDIT:あなたはMatchEvaluatorを使用し、その後ラムダを使用することができない場合は VB.NETコードは
Dim input As String = "The quick brown fox jumps over the lazy dog"
Dim pattern As String = "\b(\w|['-])+\b"
' With lambda support:
Dim result As String = Regex.Replace(input, pattern, _
Function (m) m.Value(0).ToString().ToUpper() & m.Value.Substring(1))
の下に追加代わりに:
Dim evaluator As MatchEvaluator = AddressOf TitleCase
Dim result As String = Regex.Replace(input, pattern, evaluator)
Public Function TitleCase(ByVal m As Match) As String
Return m.Value(0).ToString().ToUpper() & m.Value.Substring(1)
End Function
MSワードフォーマットの意味ではタイトルではありませんが、十分に近いです。
あなたは、言語を指定していないが、C#では、あなたはこれを行うことができます:
string input = "The quick brown fox jumps over the lazy dog";
string pattern = @"\b(\w|['-])+\b";
string result = Regex.Replace(input, pattern,
m => m.Value[0].ToString().ToUpper() + m.Value.Substring(1));
この素敵なサブストリングは、「Aのように何かにエラーをスローしないように、1つの文字の単語を処理します"と入力します。
VB.NETやC#で使用できないラムダのシナリオはどうですか? –
@MagnusSmithをサポートしていないバージョン、つまりC#2.0とVB.NET 8.0(通常はVisual Studio 2005と.NET 2.0に関連付けられています)を使用しています。 –
Downvoteの説明は? –
VB.net(SSIS)でこれを使用するつもりですが、しかし、これはほとんどのプログラミング言語ではかなり一般的な機能です。たとえば、この関数はPHPのucwords($ word)です。
PHPを使ったことは一度もありませんが、私が使用した他の言語でこのメソッドを呼び出すことはありません。 – Jeremy
Capitalize First Letter of Each WordとC# Uppercase Words in Stringを見て、使用している言語を指定していないため、PerlとC#の2言語で投稿しました。私たちは合格この場合
import re
re.compile(r'\b\w').sub(lambda x: x.group(0).upper(), 'hello')
:Pythonで、例えば
:ない「純粋な」正規表現が、ほとんどのプラットフォーム固有の実装で
s/\b(\w+)\b/ucfirst($1)/ge
簡潔に 's/\ b(\ w +)/ \ u $ 1/g'または' s/\ b(\ w)/ \ U \ 1/g'です。残念ながら、今質問はVB.NETを指定しているので、このPerlの回答はもはや関連性がありません。 – ephemient
はそれを行うための方法を持っています対応する文字列を大文字にして返す、subst()メソッド(置換文字列ではなく)に呼び出し可能なラムダ。ほとんどの言語では、呼び出し可能なものを '置換'として渡す部分と同等のものがあります。あなたのようにあなたの '交換' ラムダを渡すことができますVB.NETで
Function (x) x.Value(0).ToString().ToUpper()
.NETにはこれが組み込まれています。詳細については、TextInfo.ToTitleCaseを参照してください。
私のコードには、C#の拡張メソッドがいくつか含まれています。私はVB.NETもそれらを持っていると仮定しますが、私はVB.NETを自分で変換するのに十分なことは分かりません。
public static class StringExtensions {
public static string ToTitleCase(this string value) {
return value.ToTitleCase(CultureInfo.InvariantCulture);
}
public static string ToTitleCase(this string value, CultureInfo culture) {
return value.ToTitleCase(culture.TextInfo);
}
public static string ToTitleCase(this string value, TextInfo textInfo) {
return textInfo.ToTitleCase(value);
}
}
理由だけではなく、.NET Frameworkで既に作り付けTextInfo.ToTitleCase() methodを使わないのでしょうか?
string capitalized = System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase("this string should be capitalized!");
Dim s As String = "your string"
Dim s2 As String = StrConv(s, VbStrConv.ProperCase
MessageBox.Show(s2)
使用ProperCase
機能:
Dim Str As String = "the quick brown fox jumps over the lazy dog"
Dim NewStr As String = StrConv(Str, VbStrConv.ProperCase)
テキストボックスのキープレスイベントでこれを行います。
If e.KeyChar <> ChrW(Keys.Back) Then
If txtEname.Text = "" Then
e.KeyChar = UCase(e.KeyChar)
End If
End If
- 1. 正規表現 - 最初の文字を大文字とスペース
- 2. 各単語の最初の文字、または文字列全体の最初の文字をC#で大文字にする方法は?
- 3. 正規表現で大文字にした単語
- 4. 正規表現を使用して文字列から別の単語に単語を削除する方法
- 5. 正規表現で英語の文字と数字を使用するアラビア文字を使用する方法
- 6. 単語の配列を強調表示する文字列の文の最初の大文字から最後に一致する正規表現
- 7. バックリファレンスの大文字/小文字バージョンの正規表現置換用語はありますか?
- 8. 正規表現を使用しない文字列の単語数ですか?
- 9. 使命は、各単語の最初の文字を大文字にすることです。(JavaScript)
- 10. Javaでは、文字列の最初の文字が正規表現なしの大文字であるかどうかを調べる方法
- 11. 任意の言語の単語文字用正規表現
- 12. 3文字の単語を正規表現で選択する
- 13. Javaの単語の最初の文字を大文字に変更します
- 14. 正規表現は、文字列が最初の文字列が正しく
- 15. 正規表現/私は正規表現でいくつかの問題があり、小文字と大文字の単語
- 16. 大文字と小文字の違いを無視して正規表現を確認する正規表現
- 17. 正規表現の単語の最初の文字は一致しますが、 "and"は一致しません。
- 18. PHP/jQueryでmysqlから引き出された各単語の最初の文字を大文字にする
- 19. 正規表現は、ここでは、不要な大文字の単語
- 20. 正規表現は - 最初の文字と文全体を見つける大文字
- 21. 正規表現を使用して文字列からアラビア語のテキストのみを取り出す方法は?
- 22. 正規表現を使用して文字列内の単語を無視する方法
- 23. 使用正規表現は、文字列
- 24. 多くの大文字の文字の正規表現
- 25. python正規表現の大文字小文字の変更
- 26. 正規表現の最初の文字が一致しない
- 27. 文字列の最後にある単語のパターンに一致する正規表現ですか?
- 28. 正規表現を使用してアルファベット文字列から特定の文字を削除する方法
- 29. 正規表現を使用して文字列のSSNをマスクする方法
- 30. 大文字または小文字のクエリーストリングと一致する正規表現
プログラミング言語を指定するか、言語にとらわれない回答を求める必要があります。 –
@Jeremy:私のレスポンスに相当するVB.NETを追加しました –