#vb.net #pushbullet
#vb.net #pushbullet
Вопрос:
У меня странная проблема при отправке уведомления PushBullet. Я могу отправить уведомление, если richtextbox содержит текст, подобный:
это текст
Он ничего не отправляет, если richtextbox:
это
текст
или:
это
текст
Я пытался использовать regex replace для удаления всех пробелов, но это не работает. Код, который я использую для отправки уведомления:
Private Sub PushBullet()
'PUSHBULLET
Dim token As String = "pushbullet token"
Dim title As String = "Notication Title"
Dim body As String
body = Regex.Replace(RichTextBox1.Text, "^s $[rn]*", "", RegexOptions.Multiline)
Try
' Create a request using a URL that can receive a post.'
Dim Request As HttpWebRequest = CType(WebRequest.Create("https://api.pushbullet.com/v2/pushes"), HttpWebRequest)
' Set the Method property of the request to POST.'
Request.Method = "POST"
' Create POST data and convert it to a byte array.'
Dim postData As String = "{""type"": ""note"", ""title"": """ amp; title amp; """, ""body"": """ amp; body amp; """}"
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
' Set the ContentLength property of the WebRequest.'
Request.ContentLength = byteArray.Length
' Set the ContentType property of the WebRequest.'
Request.ContentType = "application/json"
' Add the token to header.'
Request.Headers.Add("Access-Token", token)
' Get the request stream.'
Dim dataStream As Stream = Request.GetRequestStream()
' Write the data to the request stream.'
dataStream.Write(byteArray, 0, byteArray.Length)
' Close the Stream object.'
dataStream.Close()
' Get the response.'
Dim response As WebResponse = Request.GetResponse()
' Get the stream containing content returned by the server.'
dataStream = response.GetResponseStream()
' Open the stream using a StreamReader for easy access.'
Dim reader As New StreamReader(dataStream)
' Read the content.'
Dim responseFromServer As String = reader.ReadToEnd()
' Show result in RichTextBox.'
' RichTextBox1.Text = responseFromServer
' Clean up the streams.'
reader.Close()
dataStream.Close()
response.Close()
Catch ex As Exception
End Try
End Sub
Есть идеи?
Спасибо
Комментарии:
1. Необходимо удалить потоки. Используйте
Using
блок.
Ответ №1:
Я решил с помощью:
TextBox1.Text = TextBox1.Text.Replace(vbLf, " ").Replace(vbCr, "")
Комментарии:
1. Если вы хотите сохранить многострочный макет, замените на n и r
TextBox1.Text = TextBox1.Text.Replace(vbLf, "n").Replace(vbCr, "r")