Questions tagged «string»

字符串是有限的符号序列,通常用于文本,尽管有时用于任意数据。


4
获取std :: string的最后一个元素
我想知道是否有缩写或更优雅的方式来获取字符串的最后一个字符,例如: char lastChar = myString.at( myString.length() - 1 ); 喜欢的东西myString.back()似乎并不存在。有等同的吗?
87 c++  string 


8
在Ruby中将字符串切成给定长度的块的最佳方法是什么?
我一直在寻找一种优雅而有效的方法来在Ruby中将字符串分块为给定长度的子字符串。 到目前为止,我能想到的最好的方法是: def chunk(string, size) (0..(string.length-1)/size).map{|i|string[i*size,size]} end >> chunk("abcdef",3) => ["abc", "def"] >> chunk("abcde",3) => ["abc", "de"] >> chunk("abc",3) => ["abc"] >> chunk("ab",3) => ["ab"] >> chunk("",3) => [] 您可能要chunk("", n)返回[""]而不是[]。如果是这样,只需将其添加为方法的第一行即可: return [""] if string.empty? 您会提出更好的解决方案吗? 编辑 感谢Jeremy Ruten提供的这种优雅而有效的解决方案:[编辑:效率不高!] def chunk(string, size) string.scan(/.{1,#{size}}/) end 编辑 string.scan解决方案大约需要60秒才能将512k砍成1k块10000次,而原始的基于切片的解决方案只需要2.4秒。
87 ruby  string  chunking 

6
javascript正则表达式不匹配单词
如何使用javascript正则表达式检查与某些单词不匹配的字符串? 例如,我想要一个函数,当传递包含abc或的字符串时def,返回false。 'abcd'->错误 'cdef'->错误 'bcd'-> true 编辑 最好是,我想要一个像[^ abc]之类的简单的正则表达式,但是由于我需要连续的字母,因此它不能提供预期的结果。 例如。我想要myregex if ( myregex.test('bcd') ) alert('the string does not contain abc or def'); 该语句myregex.test('bcd')的计算结果为true。


7
C#-从另一个字符串中删除第一次出现的子字符串的最简单方法
我需要从另一个字符串中删除一个字符串的第一个(并且只有第一个)出现。 这是替换字符串的示例"\\Iteration"。这个: ProjectName \\ Iteration \\ Release1 \\ Iteration1 会变成这样: ProjectName \\ Release1 \\ Iteration1 下面是执行此操作的一些代码: const string removeString = "\\Iteration"; int index = sourceString.IndexOf(removeString); int length = removeString.Length; String startOfString = sourceString.Substring(0, index); String endOfString = sourceString.Substring(index + length); String cleanPath = startOfString + endOfString; 似乎很多代码。 所以我的问题是:是否有一种更清洁/更易读/更简洁的方式来做到这一点?
87 c#  string 

3
如何在Bash case语句中测试空字符串?
我有一个Bash脚本,该脚本根据变量的值执行操作。case语句的一般语法为: case ${command} in start) do_start ;; stop) do_stop ;; config) do_config ;; *) do_help ;; esac 如果没有提供命令,并且do_help命令无法识别,我想执行默认例程。我试图这样省略大小写值: case ${command} in ) do_default ;; ... *) do_help ;; esac 我认为结果是可预测的: syntax error near unexpected token `)' 然后我尝试使用正则表达式: case ${command} in ^$) do_default ;; ... *) do_help ;; esac 这样,一个空洞便${command}落到了*箱子上。 我在尝试做不可能的事吗?
87 string  bash  null  case 


5
Python正则表达式-R前缀
r没有使用前缀时,谁能解释下面的示例1为何起作用?我认为r无论何时使用转义序列都必须使用前缀。示例2和示例3对此进行了演示。 # example 1 import re print (re.sub('\s+', ' ', 'hello there there')) # prints 'hello there there' - not expected as r prefix is not used # example 2 import re print (re.sub(r'(\b\w+)(\s+\1\b)+', r'\1', 'hello there there')) # prints 'hello there' - as expected as r prefix is used …

1
如何将整数转换为字符串?
我无法编译将类型从整数转换为字符串的代码。我正在运行Rust for Rubyists教程中的示例,该示例具有各种类型转换,例如: "Fizz".to_str()和 num.to_str()(其中num是整数)。 我认为大多数(如果不是全部)这些to_str()函数调用已被弃用。当前将整数转换为字符串的方法是什么? 我得到的错误是: error: type `&'static str` does not implement any method in scope named `to_str` error: type `int` does not implement any method in scope named `to_str`

2
使用jq解析JSON字符串
我试图jq解析一个JSON结构,如: { "a" : 1, "b" : 2, "c" : "{\"id\":\"9ee ...\",\"parent\":\"abc...\"}\n" } 也就是说,JSON中的元素是带有转义json的字符串。 所以,我有一些类似的东西 $ jq [.c] myFile.json | jq [.id] 但这崩溃了 jq: error: Cannot index string with string 这是因为.c的输出是一个字符串,而不是JSON。如何获得jq解析此字符串? 我最初的解决方案是使用sed将替换所有的逃生字符(\":\",\",\"和\"),但凌乱的,我认为有内置的方式jq做到这一点? 谢谢! 编辑:另外,这里可用的jq版本是: $ jq --version jq version 1.3 我想我可以根据需要更新它。
87 json  string  sed  escaping  jq 

1
使用'+'运算符的字符串连接
查看string类元数据,我只看到运算符==和!=重载。那么如何为' +'运算符执行级联呢? 编辑: Eric Lippert关于字符串连接的一些有趣的注释: 第1部分 第2部分 第2部分还提到了Joel的一篇超级文章(http://www.joelonsoftware.com/articles/fog0000000319.html)
86 c#  .net  string 


5
在Ruby 1.8.6中迭代一个字符串的每个字符(each_char)
我是ruby的新手,目前尝试与ruby中的基本String分开对每个字符进行操作。我正在使用ruby 1.8.6,并想做类似的事情: "ABCDEFG".each_char do |i| puts i end 这会产生未定义的方法“ each_char”错误。 我期望看到垂直输出: A B C D ..etc 该each_char方法是否仅针对1.9定义?我尝试使用无each格式方法,但是该块只是将整个字符串输出到一行中。我弄清楚该怎么做的唯一方法,这很不方便,就是从一开始就创建一个字符数组: ['A','B','C','D','...'].each do|i| puts i end 这将输出所需的内容: A B C ..etc 也许有一种方法可以使用未修改的字符串开始实现此输出? 我认为Java等效项是: for (int i = 0; i < aString.length(); i++){ char currentChar = aString.charAt(i); System.out.println(currentChar); }
86 ruby  string  iterator 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.