1. ホーム
  2. .net

[解決済み] .NET - "caps "で区切られた文字列を配列に分割するには?

2022-05-14 15:50:01

質問

この文字列: "ThisIsMyCapsDelimitedString"からどうすればいいのでしょうか。

...からこの文字列: "This Is My Caps Delimited String"

VB.netによる最少のコード行数が望ましいですが、C#も歓迎します。

乾杯!

どのように解決するのですか?

少し前に作ったものです。CamelCaseの名前の各要素にマッチします。

/([A-Z]+(?=$|[A-Z][a-z])|[A-Z]?[a-z]+)/g

例えば

"SimpleHTTPServer" => ["Simple", "HTTP", "Server"]
"camelCase" => ["camel", "Case"]

これを変換するには、単語と単語の間にスペースを挿入するだけです。

Regex.Replace(s, "([a-z](?=[A-Z])|[A-Z](?=[A-Z][a-z]))", "$1 ")


桁を処理する必要がある場合。

/([A-Z]+(?=$|[A-Z][a-z]|[0-9])|[A-Z]?[a-z]+|[0-9]+)/g

Regex.Replace(s,"([a-z](?=[A-Z]|[0-9])|[A-Z](?=[A-Z][a-z]|[0-9])|[0-9](?=[^0-9]))","$1 ")