Questions tagged «string»

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

14
如何从ASP.NET中的字符串中删除HTML标签?
使用ASP.NET,如何可靠地剥离给定字符串中的HTML标签(即不使用正则表达式)?我正在寻找类似PHP的东西strip_tags。 例: <ul><li>Hello</li></ul> 输出: “你好” 我尝试不重新发明轮子,但是到目前为止,我还没有找到任何满足我需求的东西。
123 c#  asp.net  html  regex  string 


30
有没有简单的方法将C ++枚举转换为字符串?
假设我们有一些命名的枚举: enum MyEnum { FOO, BAR = 0x50 }; 我用谷歌搜索的是一种脚本(任何语言),该脚本扫描项目中的所有标头并生成每个枚举具有一个功能的标头。 char* enum_to_string(MyEnum t); 以及类似这样的实现: char* enum_to_string(MyEnum t){ switch(t){ case FOO: return "FOO"; case BAR: return "BAR"; default: return "INVALID ENUM"; } } 陷阱实际上是带有类型定义的枚举和未命名的C风格的枚举。有人知道吗? 编辑:解决方案不应修改我的源,除了生成的函数。枚举都在API中,因此使用到目前为止提出的解决方案只是一种选择。
123 c++  string  enums  scripting 

13
C ++性能挑战:整数到std :: string的转换
谁能击败下面链接到std :: string代码的整数的性能? 已经有几个问题可以解释如何std::string在C ++中将整数转换为一个整数,例如this,但是所提供的解决方案都不有效。 以下是可与之竞争的一些常见方法的编译就绪代码: 使用stringstream的“ C ++方式”:http : //ideone.com/jh3Sa sprintf,SO-ers通常向注重性能的人推荐:sprintf:http : //ideone.com/82kwR 与流行的看法相反,boost::lexical_cast它具有自己的实现(白皮书),并且不使用stringstream和数字插入运算符。我真的很想比较它的性能,因为另一个问题表明它很惨。 我自己的贡献在台式计算机上具有竞争力,并且展示了一种在嵌入式系统上也可以全速运行的方法,这与依赖于整数模的算法不同: Ben的算法:http://ideone.com/SsEUW 如果您想使用该代码,我将在简化的BSD许可下使它可用(允许用于商业用途,需要提供署名)。只是问问。 最后,该功能ltoa是非标准的,但可广泛使用。 ltoa版本,适用于拥有提供该版本的编译器的用户(ideone不提供):http ://ideone.com/T5Wim 我将很快发布我的绩效评估作为答案。 算法规则 提供用于将至少32位有符号和无符号整数转换为十进制的代码。 将输出生成为std::string。 没有与线程和信号不兼容的技巧(例如,静态缓冲区)。 您可以假设使用ASCII字符集。 确保在以下位置测试您的代码 INT_MIN在绝对值无法表示的二进制补码机上。 理想情况下,输出应与使用的标准C ++版本的字符换字符相同stringstream,http://ideone.com/jh3Sa,但任何事情,这显然是理解的,因为正确的号码也是OK。 新增:尽管您可以使用想要进行比较的任何编译器和优化器选项(完全禁用除外),但至少在VC ++ 2010和g ++下,代码也需要编译并给出正确的结果。 希望进行的讨论 除了更好的算法,我还想在几种不同的平台和编译器上获得一些基准(让我们使用MB / s吞吐量作为我们的标准度量单位)。我相信算法的代码(我知道sprintf基准测试有一些捷径-现在已经确定),至少在ASCII假设下,该代码是标准明确定义的行为,但是如果您看到任何未定义的行为或输入,则输出为无效,请指出。 结论: g ++和VC2010的算法不同,可能是由于每种算法的实现不同std::string。显然,VC2010在NRVO方面做得更好,仅在gcc上摆脱了按价值回报的方法。 发现代码的性能要好sprintf一个数量级。 ostringstream落后50倍甚至更多。 挑战的赢家是user434507,该用户生成的代码在gcc上运行我自己的速度的350%。由于SO社区的异想天开,其他条目已关闭。 当前(最终?)速度冠军是: 对于gcc:user434507,速度比快8倍sprintf: http 对于Visual C …


5
从路径中提取目录
在我的脚本中,我需要使用的文件目录。例如,文件 = “ stuff / backup / file.zip”。我需要一种从变量中获取字符串“ stuff / backup / ”的方法$file。
123 string  bash  path 

24
字符串中子字符串的出现
为什么以下算法对我来说不停止?(str是我要搜索的字符串,findStr是我要查找的字符串) String str = "helloslkhellodjladfjhello"; String findStr = "hello"; int lastIndex = 0; int count = 0; while (lastIndex != -1) { lastIndex = str.indexOf(findStr,lastIndex); if( lastIndex != -1) count++; lastIndex += findStr.length(); } System.out.println(count);
122 java  string 


13
在Swift中从字符串中删除第一个字符的最简洁方法是什么?
我想从字符串中删除第一个字符。到目前为止,我想出的最简洁的方法是: display.text = display.text!.substringFromIndex(advance(display.text!.startIndex, 1)) 我知道Int由于Unicode 的原因我们无法将字符串索引到字符串中,但是这种解决方案似乎非常冗长。我还有其他方法可以忽略吗?
122 string  swift 


2
为什么#include <string>在这里防止堆栈溢出错误?
这是我的示例代码: #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class MyClass { string figName; public: MyClass(const string&amp; s) { figName = s; } const string&amp; getName() const { return figName; } }; ostream&amp; operator&lt;&lt;(ostream&amp; ausgabe, const MyClass&amp; f) { ausgabe &lt;&lt; f.getName(); return ausgabe; } int main() { MyClass f1("Hello"); cout …


6
连接两个字符串文字
我正在阅读Koenig的Accelerated C ++。他写道:“新想法是,我们可以使用+来连接一个字符串和一个字符串文字-或两个字符串(但不能是两个字符串文字)。 很好,我想这很有道理。现在进行两个单独的练习来说明这一点。 以下定义是否有效? const string hello = "Hello"; const string message = hello + ",world" + "!"; 现在,我尝试执行以上操作,它成功了!所以我很高兴。 然后,我尝试进行下一个练习; const string exclam = "!"; const string message = "Hello" + ",world" + exclam; 这没有用。现在,我知道这与不能连接两个字符串文字的事实有关,但是我不理解为什么我设法使第一个示例生效(不是“,world”和“!”之间的语义差异。 “两个字符串文字?这不应该行得通吗?)但是第二个不是。


9
Java ByteBuffer转为字符串
这是将ByteBuffer转换为String的正确方法吗? String k = "abcd"; ByteBuffer b = ByteBuffer.wrap(k.getBytes()); String v = new String(b.array()); if(k.equals(v)) System.out.println("it worked"); else System.out.println("did not work"); 我问的原因是,这看起来太简单了,而其他方法,例如Java:在ByteBuffer和ByteBuffer之间来回转换字符串以及相关的问题看起来就更加复杂。

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.