2017-05-28 1 views
0

したがって、各期間の後に入力を区切るコードがあります。次に、それぞれの文が別々の行に置かれます。 Returnキーを押した場合に入力行にスキップしないことを確認するにはどうすればよいですか?ここに私のコードは次のとおりです。Returnキーが押された場合に、行をスキップしないでください。

string input = TextEditor.Text; 
     string[] tokens = input.Split('.'); 
     Output.Text = string.Join(Environment.NewLine, tokens); 
     if (Keyboard.IsKeyDown(Key.Enter)) // for some reason words "Keyboard" and "Key" Don't work. 
     { 
      // I don't know what to do here 
     } 

私が書いたのであれば、現時点では:あなたは改行を削除する必要が

Hello I am a human 

A good human 
+0

を行うことができます.NET 4.0以下である。\文字列を結合するときに、トークンを使用します。 – Timo

+1

\ n @Timo: – hardkoded

+0

:)にする必要があります。畜生。コメントを更新しました – Timo

答えて

1

String.EmptyをでEnvironment.NewLineを交換してみてください「\ N」と「」 (これは効果的に行がドットで終わるときすべての改行を削除します)。

input.Replace(".\n", ".").Split('.') 

それとも、すべての文字列を削除することで、トークンを後処理することができ、純粋な空白(改行、タブ、空白)ですアレイを形成します。

Output.Text = string.Join(Environment.NewLine, tokens.Where(s => !string.IsNullOrWhiteSpace(s))); 

更新

場合、あなたはあなたが `input.Replaceを(」使用して、すべての "./n" を置き換えることができ

Output.Text = string.Join(Environment.NewLine, tokens.Where(s => s != "\n" && s != "\r\n"))); 
+0

私はIsNullOrWhitespaceでエラーが発生します。それは言う: "文字列にはIsNullOrWhitespaceの定義が含まれていません" –

+0

@DrummingAceどのバージョンの.Netを使用していますか? string.IsNullOrWhitespaceには.Net 4.0が付属しています。 https://msdn.microsoft.com/en-us/library/system.string.isnullorwhitespace(v=vs.110).aspx – Timo

+0

わかりませんが、私は.net 4.somethingのバージョンを使用しています。これまでにビジュアルスタジオ2015が付属しているのは、私が使用しているものです –

0

Hello I am a human. 
A good human 

を私はの出力を得るでしょう。あなたは、すべての出現箇所を置換することによって、あなたの入力文字列を前処理することができます

+0

実際には動作しないので、私はまだ文字列の残りの部分に改行を入れるピリオドを置く場合と同じように必要なため動作しません。 –

関連する問題