如何将一个字符串分割成子串并存储到一个列表中-c#。
我需要将字符串分为多个子字符串并将这些子字符串存储到列表中. 这是我的初始字符串中存储的可能内容的示例: "{"Stocks": [{"APPLE-775121": false, "AMZN-007612": true, "GOLD-847571": true}]}" 初始字符串正在发生变化,它们可能是其中的多个股票名称.我只需要提取这些项目并将其存储到字符串列表中: APPLE-775121 AMZN-007612 GOLD-847571 在解析字符串时遇到一些麻烦,我是C#的新手,不知道存在的所有有用的字符串函数. 到目前为止,我所做的是将初始串解析到一个新字符串(命名为parsedstring),其中包含: "APPLE-775121": false, "AMZN-007612": true, "GOLD-847571": true 我可以帮助解析此字符串的其余部分并将子字符串存储到列表中吗? 预先感谢!
4 2024-04-24
编程技术问答社区
在C语言中找到一个字符串的最后出现。
我正在练习,我遇到了一个练习.练习说我要手动编写一个函数,以在字符串中找到最后一次发生的索引.现在,我知道这可能以前曾被问到,但是我找不到代码的问题.它几乎适用于所有实例,但是当单词的最后一次出现在字符串的开头. 时,并非如此. 我尝试过的是:我使用指针存储了句子的端的地址 cons 又是我们正在寻找的单词.然后,我用一段时间循环通过字符串迭代.如果当前字符匹配我们要搜索的单词的最后一个字符,则我们在另一个循环中输入另一个比较两者的字符.如果指向单词开头的指针以及我们过去通过单词迭代的指针是平等的,则可以找到单词. 这是一些代码: #include int find_last( char *str, char *word) { char *p, *q; char *s, *t; p=str; /* Pointer p now points to the last
12 2024-04-10
编程技术问答社区
这对C来说是一个好的子串吗?
另请参见 c tokenizer 这是我编写的C的快速substr()(是的,需要移动变量初始化以启动功能等,但是您可以理解这个想法) 我已经看到了许多简单的substr()的"智能"实现,这些实现是一个简单的衬里调用strncpy()! 他们都是错误的(strncpy不能保证终止终止,因此呼叫可能不会产生正确的子字符串!) 这里可能更好? 带出错误! char* substr(const char* text, int nStartingPos, int nRun) { char* emptyString = strdup(""); /* C'mon! This cannot fail */ if(text == NULL) return emptyString; int textLen = strlen(text); --nStartingPos; if((nStartingPos
2 2024-04-09
编程技术问答社区
C代码器(当字段缺失时,它也会返回空值,耶!)。
另请参见:这是C的好substr()吗? strtok()和朋友跳过空字段,我不知道该怎么说不要跳过,而是在这种情况下空返回. 我可以看到的大多数引物的类似行为,甚至没有让我开始sscanf()(但后来它从未说过它会在空旷的领域起作用). 我一直在滚动,也感到困倦,所以在这里进行评论: char* substr(const char* text, int nStartingPos, int nRun) { char* emptyString = strdup(""); /* C'mon! This cannot fail */ if(text == NULL) return emptyString; int textLen = strlen(text); --nStartingPos; if((nStartingPos
8 2024-04-07
编程技术问答社区
用substr对一个字符串进行预置是否更快?
我刚刚找到了用substr( $str, 0, 0, $prepend ) 预先启动的代码 my $foo = " world!" substr( $foo, 0, 0, "Hello " ); 这比 快得多 my $foo = " world!" $foo = "Hello $foo"; 解决方案 optrees 如果我们比较了两个optrees,则顶部具有 b substr[t2] vK/4 ->c - ex-pushmark s ->7 7 padsv[$foo:2,3] sM ->8 8 const[IV 0] s ->9 9 const[IV 0] s ->a a const[PV "Hello "] s ->b 虽然底部有 8 multiconcat(" world!",-1,7)[$foo:2,
8 2024-03-30
编程技术问答社区
windows批处理dir命令获得最后修改的以字符串开头的目录
我想在Windows批处理文件中以字符串stringEx...开始获得最后一个修改的目录. 例如:我有一个包含类似子目录的文件夹: - Directory -Subdirectory1 -Subdirectory2 -Anothersubdirectory .... 我尝试过,但它不起作用: @echo off Setlocal EnableDelayedExpansion Set foundedFolder FOR /F %%i IN ('dir C:\Directory | subtsr "Anoth*" /b /ad-h /od') DO (SET a=%%i) %foundedFolder%=%a% 有什么想法? 解决方案 for /f "delims=" %%a in ('dir /b /ad-h /od "Anoth*"') do set "latestDir=%%~a" echo(%latestDir%
6 2024-03-29
编程技术问答社区
xml解析中awk语句中的substr
链接到原始问题: bash脚本xml数据格式现在进行修改和说明 - > 这条代码中的某些内容是不正确的,我相信这是substr的部分,这是因为我没有充分的理解,并且想学习如何更好地理解它.是的,我已经研究了文档,并且没有完全单击.一些示例和答案确实会有所帮助. awk -F'[]' 'BEGIN{a["STKPR"]="Prod";a["STKSVBLKU"]="Prod";a["STKSVBLOCK"]="Prod";a["STKSVBLK2"]="Test";} /Name/{name=$3; type=a[substr(name,length(name))]; if (length(type)==0) type="Test";} /SessionHost/+/Host/{print type, name, $3;}'|sort -u 在这里这个位: type=a[substr(name,length(name))]; if (length(type)==0
6 2024-03-28
编程技术问答社区
在数组上进行Bash子串扩展
我有一组带有给定后缀的文件.例如,我有一组带有后缀.pdf的PDF文件.我想使用substring扩展获取没有后缀的文件的名称. 对于一个我可以使用的单个文件: file="test.pdf" echo ${file:0 -4} 要为所有文件执行此操作,我现在尝试了: files=( $(ls *.pdf) ) ff=( "${files[@]:0: -4}" ) echo ${ff[@]} 我现在有一个错误,说substring expression
4 2024-03-28
编程技术问答社区
什么linux shell命令会返回一个字符串的一部分?
我想找到一个可以返回字符串的Linux命令.在大多数编程语言中,这是substr()函数. BASH是否有任何可用于此目的的命令.我希望能够做这样的事情... substr "abcdefg" 2 3 - 打印cde. 随后的类似问题: 提取bash中的提取子字符串 解决方案 如果您正在寻找壳牌实用程序来执行这样的操作,则可以使用cut命令. 以您的榜样为例,请尝试: echo "abcdefg" | cut -c3-5 产生 cde 其中-cN-M告诉cut命令返回列N M,包括. 其他解决方案 来自bash manpage: ${parameter:offset} ${parameter:offset:length} Substring Expansion. Expands to up to length characters of parameter starting at th
4 2024-03-27
编程技术问答社区
用所有多行中的新值替换整列
我在文件中有以下行 $ cat test.txt 69|1074330570|1,sip:+121345633210x3Bverstat=TN-Validation-Passed|tel:+12134565534|0 69|1077822111|2,;tel:+2223120011~sip:+2223120051@vzpps.com;|sip:+13123120022@vzpps.com|0 69|1077988012|1,sip:+121510016070x3Bverstat=TN-Validation-Passed|tel:+136965339510x3Bnpd|0 我想用只有以下电话号码来替换文件中的第三列和第四列: 69|1074330570|2134563321|2134565534|0 69|1077822111|2223120011|3123120022|0 69|1077988012|2151001607|3696533951|0 好处是所有文件在第三
16 2024-03-22
编程技术问答社区
使用awk substr获取最后一个字段
我正在尝试使用awk获取给定文件绝对路径的文件的名称. 例如,当给出输入路径/home/parent/child/filename时,我想获得filename 我尝试了: awk -F "/" '{print $5}' input 效果完美. 但是,我正在硬编码$5,如果我的输入具有以下结构: 是不正确的: /home/parent/child1/child2/filename 因此,通用解决方案需要始终采用 last 字段(这将是文件名). 是否有一种简单的方法可以使用Awk substr函数? 解决方案 使用awk根据字段分离器将线路分配的事实,您可以定义.因此,将场分离器定义为/您可以说: awk -F "/" '{print $NF}' input as NF是指当前记录的字段数量,打印$NF是指打印最后一个. 所以给定这样的文件: /home/parent/child1/child2/child3/filename
6 2024-03-21
编程技术问答社区
确保该字符串遵循规定的格式
我试图检查字符串是否遵循某种格式: item[]=重复四次 item[]=之后是一个数字和&符号(例如),除了最后一个数字没有&之后 item[]=之后的数字仅由1-4组成,并且可以按任何顺序组成,但不能重复 这是字符串看起来的一些示例(如您所见,数字的顺序更改) - 请注意,一次只有一个字符串! 1) $list = 'item[]=1&item[]=3&item[]=2&item[]=4'; 2) $list = 'item[]=3&item[]=1&item[]=4&item[]=2'; 3) $list = 'item[]=4&item[]=3&item[]=2&item[]=1'; 这就是我要走的距离: // check item[]= is repeated four times if(substr_count($list, "item[]=") == '4') { // strip the string to
8 2024-03-07
编程技术问答社区
将条形码扫描字符串转换为变量
我有一个条形码,该条形码被扫描后需要将其分为五个变量. Example barcode scan: 0109556135082301172207211060221967 21Sk4YGvF8 Alternate scan: 010955704600017017250630102107015 有5个定界符 01 - gtin (14 DIGIT only) 11 - production date (YYMMDD) 17 - expire date (YYMMDD) 10 - batch no (can be variable but not more than 20 digit) 21 - serial no (can be variable but not more than 20 digit) 01 09556135082301 (gtin) 17 220721 (production date) 10 60221967 (batch numb
4 2024-03-07
编程技术问答社区
从字符串末尾开始的子串 php?
我有这样的数组,我会非常简单地理解 $picture = ( 'artist2-1_thumb.jpg', 'artist2-2.jpg' , 'artist2-3_thumb.jpg', 'artist2-4.jpg', 'artist2-5_thumb.jpg'); 现在,我希望使用substr获得只有拇指的新数组,才能具有这样的新数组 $picturethumbs = ( 'artist2-1_thumb.jpg', 'artist2-3_thumb.jpg', 'artist2-5_thumb.jpg'); 可以从哪里开始? 解决方案 您可以使用 array_filter() 要过滤数组,仅返回与给定条件匹配的项目: $picturethumbs = array_fil
4 2024-03-06
编程技术问答社区
在数组的每个字符串前添加美元符号?
我有这个字符串:$str = "(he+is+genius*2)/clever";在数组中看起来像这样; Array ( [0] => ( [1] => he [2] => + [3] => is [4] => + [5] => genius [6] => ) [7] => * [8] => and [9] => / [10] => clever ) 我想做的是将美元标志$放在$str中存在的每个字符串之前,但忽略了非all-Alphanumeric和数字. 最后,我想拥有看起来像这样的东西; $newstr = "($he+$is+$genius*2)/$clever"; 解决方案 对于每个值,检查第一个char(或整个值)是否由ctype_alpha的字符制成,然后使用$预处理: // $arr is your array as defined in your question forea
6 2024-03-05
编程技术问答社区
检查字符串是否以给定的目标字符串结尾 | javascript
我正在尝试编写JavaScript代码,该代码将测试第一个字符串的末尾与目标相同,请返回true.否则,返回false.必须使用.substr()获得结果. function end(str, target) { myArray = str.split(); //Test if end of string and the variables are the same if (myArray.subsrt(-1) == target) { return true; } else { return false; } } end('Bastian', 'n'); 解决方案 尝试: function end(str, target) { return str.substring(str.length-target.length) == target; } 更新: 在新浏览器中,您可以使用: string.protype.endswith ,但是IE需要po
12 2024-03-05
编程技术问答社区
Javascript substr(); 按字数而不是按字符来限制
我想通过单词而不是字符限制基础.我正在思考正则表达和空间,但不知道该如何拉开. 场景:使用javascript/jquery限制为200个单词的段落. var $postBody = $postBody.substr(' ',200); 这很棒,但是将单词分为一半:)提前感谢! 解决方案 function trim_words(theString, numWords) { expString = theString.split(/\s+/,numWords); theNewString=expString.join(" "); return theNewString; } 其他解决方案 如果您对不太准确的解决方案感到满意,则可以简单地对文本中的空间字符数量保持一致,并假设它等于单词数量. 否则,我将在字符串上使用split(),用""作为定界符,然后计算拆分返回的数组的大小. 其他解决方案 非常快速且脏 $("#
12 2024-01-13
编程技术问答社区
只显示文本文件的前五行
我有此代码(来自STEAP): 我在这里使用它: http://flamencopeko.net/news .完美工作. 我正在尝试为主页制作一个版本,该版本仅显示五行.这样: http://flamencopeko.net/index2.php ,但只有前五名.因
12 2023-12-03
编程技术问答社区
在perl中根据输入查找最长的重复字符串(使用子程序)。
因此,我试图找到给定的特定模式的最长重复.到目前为止,我的代码看起来像这样,并且相当接近,但是它并没有完全给予所需的结果: use warnings; use strict; my $DNA; $DNA = "ATATCCCACTGTAGATAGATAGAATATATATATATCCCAGCT" ; print "$DNA\n" ; print "The longest AT repeat is " . longestRepeat($DNA, "AT") . "\n" ; print "The longest TAGA repeat is " . longestRepeat($DNA, "TAGA") . "\n" ; print "The longest C repeat is " . longestRepeat($DNA, "C") . "\n" ; sub longestRepeat{ my $someSequence = shift(@_);
6 2023-12-03
编程技术问答社区
Vue中m:ss时间格式的文本输入Regex有问题,对于6点或以上的任何分钟都是如此。
我正在尝试进行验证,以防止用户在此时间格式m:ss(m = minute,s =秒). 即)1分钟30秒= 1:30,1分钟和59秒1:59. 不允许这样做:1:61或1:77,因为这些不是有效的秒. 第一个s只能是值0-5,第二s和m可以为0-9 在Vue中,我在文本输入框中有一个 我在手表中有一个: watch: { formatTime () { const totalLength = this.formatTime.length; let a = this.fo
14 2023-11-26
编程技术问答社区