나는 문자열을 가지고캐치 문자열 C 번호, 텍스트 및 배열에 자신의 인덱스를지도
2) 그들에게 이렇게 10의 값을 할당 따옴표와, :
int[] result = {0,10,10,0,0,10,10,10,0,0,10,0}
감사합니다.
나는 문자열을 가지고캐치 문자열 C 번호, 텍스트 및 배열에 자신의 인덱스를지도
2) 그들에게 이렇게 10의 값을 할당 따옴표와, :
int[] result = {0,10,10,0,0,10,10,10,0,0,10,0}
감사합니다.
확인이 프로그램
var data = "Lorem \"ipsum dolor\" quisque at \"massa non erat\" . Donec auctor \"blandit\" nibh!";
var arrayText = data.Split(' ');
int[] result = new int[arrayText.Length];
var i = 0;
var doublequotebits = false;
foreach (var value in arrayText)
{
if (value.StartsWith("\"") && value != ".")
doublequotebits = true;
if (doublequotebits)
result[i] = 10;
i++;
if (value.EndsWith("\""))
doublequotebits = false;
}
이 시도 :
는var text1 = "Lorem \"ipsum dolor\" quisque at \"massa non erat\". Donec auctor \"blandit\" nibh!";
var output =
text1
.Split('"')
.SelectMany((x, n) => x.Trim().Split(' ').Select(y => n % 2 == 0 ? 0 : 10))
.ToArray();
이 int[] result = new [] { 0, 10, 10, 0, 0, 10, 10, 10, 0, 0, 0, 10, 0 }
을 생산하고 있습니다.
그게 정확히 무슨 일이 아니지만, 두 번째 큰 따옴표 다음에 .
이 있다는 사실은이 코드가 .
이 유효한 단어라고 생각하게 만듭니다. 먼저 문자열을 정리하는 방법에 대해 생각할 필요가 있습니다.
텍스트는 큰 따옴표로 시작하는 경우 코드가 작동하지 않습니다. –
@Enigmativity 방법 : var text1 ="\ "Lorem ipsum dolor \ "quaque at \"massa non erat \ ". Donec auctor의 \ "blandit의 \"nibh! ";. @ ZasypinN.V – ArtJ
은 - 영업 이익은 해당 특정 문자열에 대한 질문,하지만'어디에요 퍼팅 (Y => Y를 =!"'에 이어 두 번째로'.Split ") (...)'영업에 대한 충분한 수정 될 수있다 – Enigmativity
Linq를 사용하면 쉽게 달성 할 수 있습니다.
string text1 = @"Lorem ""ipsum dolor"" quisque at ""massa non erat"".Donec auctor ""blandit"" nibh!";
text1 = text1.Replace("."," ");
string[] splitted = text1.Split(' ');
List<int> result = new List<int>();
bool alreadystarted = false;
foreach (string element in splitted)
{
if (element.Contains("\""))
{
if (alreadystarted == false)
{
if (element.Count(f => f == '"') != 2)
{
alreadystarted = true;
}
result.Add(10);
}
else
{
alreadystarted = false;
result.Add(10);
}
}
else
{
if (alreadystarted == true)
{
result.Add(10);
}
else
{
result.Add(0);
}
}
}
INT 결과는 다음과 같습니다 :이 작업을 수행하는 방법에 대한 깊은 이해를 원하는 코드를 더 쉽게 해석하고 편집 할 수 있도록하려면, 나는 다음과 같은 코드를 사용하는 것이 좋습니다
0, 10, 10, 10, 10, 10, 0, 0, 10, 0
지금까지 시도한 것을 공유하십시오. – lintmouse
아무 것도 시도하지 않았다면 여기에 아이디어가 있습니다. _space_에서 문자열을 분할하십시오. 그런 다음 결과 문자열 각각에 큰 따옴표가 있는지 확인한 다음 ** 10 ** ** else ** 0 **을 int 배열로 삽입합니다. –
하드 알고리즘 문제가 아니므로 직접 시도하십시오. –