C #의 문자열에서 "\ r \ n"을 제거하려면 어떻게해야합니까? 정규식을 사용할 수 있습니까?
ASP.NET 텍스트 영역에서 문자열을 유지하려고합니다. 캐리지 리턴 줄 바꿈을 제거하고 남은 내용을 50 자 조각의 문자열 배열로 분리해야합니다.
나는 이것을 지금까지 가지고있다
var commentTxt = new string[] { };
var cmtTb = GridView1.Rows[rowIndex].FindControl("txtComments") as TextBox;
if (cmtTb != null)
commentTxt = cmtTb.Text.Length > 50
? new[] {cmtTb.Text.Substring(0, 50), cmtTb.Text.Substring(51)}
: new[] {cmtTb.Text};
정상적으로 작동하지만 CrLf 문자를 제거하지 않습니다. 이 작업을 올바르게 수행하는 방법은 무엇입니까?
예, 정규식을 사용할 수 있지만 간단한 string.Replace ()로 충분할 것입니다.
myString = myString.Replace("\r\n", string.Empty);
.Trim () 함수가 모든 작업을 수행합니다!
위의 코드를 시도했지만 "트림"기능 이후에 교체 코드에 도달하기 전에도 모두 "깨끗한"상태임을 알았습니다!
String input: "This is an example string.\r\n\r\n"
Trim method result: "This is an example string."
출처 : http://www.dotnetperls.com/trim
이것은 줄 바꿈 문자 조합에서 문자열을 분할하고 공백으로 결합합니다. 실제로 새 줄이있을 공간을 원한다고 가정합니다.
var oldString = "the quick brown\rfox jumped over\nthe box\r\nand landed on some rocks.";
var newString = string.Join(" ", Regex.Split(oldString, @"(?:\r\n|\n|\r)"));
Console.Write(newString);
// prints:
// the quick brown fox jumped over the box and landed on some rocks.
이에 대한 더 좋은 코드 :
yourstring = yourstring.Replace(System.Environment.NewLine, string.Empty);
이 시도:
private void txtEntry_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
string trimText;
trimText = this.txtEntry.Text.Replace("\r\n", "").ToString();
this.txtEntry.Text = trimText;
btnEnter.PerformClick();
}
}
당신이와 줄 바꿈을 대체 할 가정 일 이 같은 뭔가 이렇게 :
the quick brown fox\r\n
jumped over the lazy dog\r\n
다음과 같이 끝나지 않습니다.
the quick brown foxjumped over the lazy dog
나는 다음과 같이 할 것입니다.
string[] SplitIntoChunks(string text, int size)
{
string[] chunk = new string[(text.Length / size) + 1];
int chunkIdx = 0;
for (int offset = 0; offset < text.Length; offset += size)
{
chunk[chunkIdx++] = text.Substring(offset, size);
}
return chunk;
}
string[] GetComments()
{
var cmtTb = GridView1.Rows[rowIndex].FindControl("txtComments") as TextBox;
if (cmtTb == null)
{
return new string[] {};
}
// I assume you don't want to run the text of the two lines together?
var text = cmtTb.Text.Replace(Environment.Newline, " ");
return SplitIntoChunks(text, 50);
}
구문이 완벽하지 않다면 사과드립니다. 지금은 C #을 사용할 수있는 컴퓨터에 있지 않습니다.
완벽한 방법은 다음과 같습니다.
있습니다 Environment.NewLine가 에 작동 마이크로 소프트 플랫폼.
위의 것 외에도 별도의 함수 에 \ r 및 \ n 을 추가해야 합니다!
Here is the code which will support whether you type on Linux, Windows, or Mac:
var stringTest = "\r Test\nThe Quick\r\n brown fox";
Console.WriteLine("Original is:");
Console.WriteLine(stringTest);
Console.WriteLine("-------------");
stringTest = stringTest.Trim().Replace("\r", string.Empty);
stringTest = stringTest.Trim().Replace("\n", string.Empty);
stringTest = stringTest.Replace(Environment.NewLine, string.Empty);
Console.WriteLine("Output is : ");
Console.WriteLine(stringTest);
Console.ReadLine();
Use:
string json = "{\r\n \"LOINC_NUM\": \"10362-2\",\r\n}";
var result = JObject.Parse(json.Replace(System.Environment.NewLine, string.Empty));
ReferenceURL : https://stackoverflow.com/questions/1981947/how-can-i-remove-r-n-from-a-string-in-c-can-i-use-a-regular-expression
'programing' 카테고리의 다른 글
셸에서 파일 크기 계산 (0) | 2021.01.16 |
---|---|
리프트 웹 프레임 워크가 확장 가능한 이유는 무엇입니까? (0) | 2021.01.16 |
jQuery를 사용하여 드롭 다운에서 선택한 현재 값 가져 오기 (0) | 2021.01.16 |
사전 값을 일반 목록으로 가져 오는 방법 (0) | 2021.01.16 |
python 0으로 numpy 배열을 채우는 방법 (0) | 2021.01.16 |