我有一个非常小的查询。 我尝试使用concat,charAt,slice和诸如此类的东西,但是我不知道该怎么做。
这是我的字符串:
var str1 = "Notion,Data,Identity,"
我想用.
替换最后一个,
,它应该看起来像这样。
var str1 = "Notion,Data,Identity."
有人可以让我知道如何实现吗?
我有一条路:
myPath = "C:\Users\myFile.txt"
我想删除结束路径,以便该字符串仅包含:
"C:\Users"
到目前为止,我正在使用split,但是它只给了我一个列表,而我此时停留在此。
myPath = myPath.split(os.sep)
有什么方法可以在switch语句中创建条件条件,即您说字符串是否以某些内容开头吗?
前
Switch (mystring)
{
case("abc")://String begins with abc (abcd or abc1 or abcz or abc.. or abc will fall in this condition).
//Do Something
break;
default:
break;
}
更新其他字符串的长度可以不同。
abc ..
abczyv
分解。
qwerty
问
我正在执行动态SQL以将表中的所有列转换为字符串
所以毕竟我会做
EXEC(@template);
其中@template是动态生成的查询,因此:
col1 col2 col3
---------------
1 7 13
2 8 14
3 9 15
4 10 16
5 11 17
6 12 18
(此结果:1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18)
如何将结果字符串分配给变量
就像是?
DECLARE @result AS varchar(max);
SET @result = EXEC(@template);
几周前,伦比克问了以下问题:
字符串
w
的周期p
是任何正整数p
,这样w[i]=w[i+p]
只要定义了方程的两边。 让x = abcab
表示 最小周期的大小为per(abcab) = 3
。 我们说一个字符串x[1] = x[1+3] = a
是 定期iffx[2]=x[2+3] = b
。
因此,非正式地,定期字符串只是由重复至少一次的另一个字符串组成的字符串。 唯一的麻烦是,在字符串的末尾,我们不需要重复的字符串的完整副本,只要完整重复至少一次即可。
例如,考虑字符串x = abcab
。per(abcab) = 3
为x[1] = x[1+3] = a
,x[2]=x[2+3] = b
,并且不存在更小的周期。 因此,字符串n
不是周期性的。 但是,字符串T[1, 4] = atat
的周期为T[6, 9] = atat
。
作为更多示例,n
、T[1, 4] = atat
和T[6, 9] = atat
也是周期性的。
对于那些喜欢正则表达式的人,此程序可以检测字符串是否为周期性的:
\b(\w*)(\w+\1)\2+\b
任务是在更长的字符串中找到所有最大的周期性子字符串。 这些有时在文献中称为运行。
如果
T[1, 4] = atat
的子字符串T[1, 4] = atat
是周期性的且不是T[6, 9] = atat
或3006969079933699099075,则它是最大的周期性子字符串(运行)。非正式地,“运行”不能包含在较大的“运行”中 同一时期。
由于两次运行可以表示出现在整个字符串中不同位置的相同字符串,因此我们将按间隔表示运行。 这是按照间隔重复的上述定义。
字符串
n
中的游程(或最大周期性子字符串)是一个间隔T[1, 4] = atat
和T[6, 9] = atat
,例如
n
是一个周期词T[1, 4] = atat
- 最大。 正式而言,
n
和n
都不行。非正式地,该运行不能包含在较大的运行中 同一时期。
用n
表示字符串T[1, 4] = atat
中的运行集。
运行示例
字符串n
中的四个最大周期性子字符串(游程)为T[1, 4] = atat
、T[6, 9] = atat
、T[1, 10] = atatbatatb
、T[12,13] = aa
。
字符串n
包含以下7个最大的周期性子字符串(游程):T[1, 4] = atat
、T[6, 9] = atat
、T[1, 10] = atatbatatb
、T[12,13] = aa
、T[13,16] = acac
、T[1,8] = aabaabaa
、T[9,15] = aacaaca
。
字符串n
包含以下三个运行。 他们是:T[1, 4] = atat
、T[6, 9] = atat
和T[1, 10] = atatbatatb
。
在这里,我正在使用1-索引。
目标
编写代码,以便对于从2开始的每个整数n,输出最大长度为n
的任何二进制字符串中包含的运行次数。
最佳示例
在以下内容中:n
。
2 1 00
3 1 000
4 2 0011
5 2 00011
6 3 001001
7 4 0010011
8 5 00110011
9 5 000110011
10 6 0010011001
11 7 00100110011
12 8 001001100100
13 8 0001001100100
14 10 00100110010011
15 10 000100110010011
16 11 0010011001001100
17 12 00100101101001011
18 13 001001100100110011
19 14 0010011001001100100
与单纯的O(n ^ 2 2 ^ n)时间方法相比,是否有更快的方法来找到增加值
n
的最佳运行次数?
只是想知道,VBA中是否有与VB .NET的PadLeft和PadRight方法等效的方法?
截至目前,每当我要采用字符串并将其长度固定为带前导空格时,我都会根据字符串的长度执行For ... Next循环。
例如,我将使用以下代码将字符串格式设置为带有前导空格的8个字符:
intOrdNoLen = Len(strOrdNo)
For i = 1 To (8 - intOrdNoLen) Step 1
strOrdNo = " " & strOrdNo
Next
有没有办法在VBA中用更少的行来做同样的事情?
我从一本书中看到以下代码:
var a = "one";
var b = "four";
a>b; // will return true
但没有提到为什么“一个”大于“四个”。 我尝试了c = "a"
,它小于a和b。 我想知道JavaScript如何比较这些字符串。
这个问题已经在这里有了答案:
我是该语言的新手。 假设我有一个来自HTTP请求的字符串,例如
char * request = "GET /favicon.ico HTTP/1.1";
我特别想知道favicon
是否在该请求中,也许带有布尔值。 相对简单的方法是什么? 我知道如何用Java做到这一点,但是我对C更加迷失了。
谢谢!
我有一个包含新行的字符串。我想将它们转换为HTML \n
s,但是我很难检测到它们。
想象这样一个JavaScript字符串集:
var foo = "Bob
is
cool";
它们是我需要检测的新行。 他们没有使用\n
特殊字符-它们只是纯格式。
这两个等效表达式在速度/内存使用方面是否有任何区别:
Regex.IsMatch(Message, "1000")
VS
Message.Contains("1000")
有什么情况比别人更好吗?
该问题的内容如下:我对包含Regex表达式的旧代码进行了一些更改,以查找另一个字符串中是否包含一个字符串。 作为遗留代码,我没有对此进行任何更改,在代码审查中,有人建议将Regex.IsMatch替换为string.Contains。 所以我想知道更改是否值得进行。
这是我检查mystring
是否以某些字符串开头的方式:
>>> mystring.lower().startswith("he")
True
问题是mystring
很长(成千上万个字符),因此lower()
操作要花费很多时间。
问题:有没有更有效的方法?
我失败的尝试:
>>> import re;
>>> mystring.startswith("he", re.I)
False
我正在使用非常棘手的战斗方法:)使得像Fi?le*/ Name
这样的字符串可以安全地用作文件名,例如File_Name
。我敢肯定有一种可可的方式来转换它。 而且我敢肯定,最好的地方是在这里:)
谢谢!
我喜欢过滤掉字符串长度不等于10的数据。
如果我尝试过滤掉列A或B的字符串长度不等于10的任何行,则尝试这样做。
df=pd.read_csv('filex.csv')
df.A=df.A.apply(lambda x: x if len(x)== 10 else np.nan)
df.B=df.B.apply(lambda x: x if len(x)== 10 else np.nan)
df=df.dropna(subset=['A','B'], how='any')
这工作缓慢,但正在工作。
但是,当A中的数据不是字符串而是数字(在read_csv读取输入文件时解释为数字)时,有时会产生错误。
File "<stdin>", line 1, in <lambda>
TypeError: object of type 'float' has no len()
我相信应该有更高效,更优雅的代码来代替。
根据下面的答案和评论,我找到的最简单的解决方案是:
df=df[df.A.apply(lambda x: len(str(x))==10]
df=df[df.B.apply(lambda x: len(str(x))==10]
要么
df=df[(df.A.apply(lambda x: len(str(x))==10) & (df.B.apply(lambda x: len(str(x))==10)]
or
df=df[(df.A.astype(str).str.len()==10) & (df.B.astype(str).str.len()==10)]
这个问题已经在这里有了答案:
当我遇到.Net编程中的这种奇怪行为时,我在C#中摆弄。
我写了这段代码:
static void Main(string[] args)
{
string xyz = null;
xyz += xyz;
TestNullFunc(xyz);
Console.WriteLine(xyz);
Console.Read();
}
static void TestNullFunc(string abc)
{
if (abc == null)
{
Console.WriteLine("meow THERE ! ");
}
else
{
Console.WriteLine("No Meow ");
}
}
我得到的输出为xyz
,这意味着字符串不是""
。这怎么可能? 为什么将两个null
字符串相加而导致非3003107107258864763907字符串?
在调试时,将其添加到自身后检查xyz
的值时,其值为""
(无字符)。
我想找到两个字符串之间的字符串相似性。 此页面包含其中一些示例。 Python具有Levenshtein算法的实现。 在这些约束下是否有更好的算法(最好是python库)。
对于我的情况,除Levenshtein距离(或Levenshtein比率)以外的其他算法是否会更好?
可能重复:
.net等效于旧的vb left(string,length)函数?
在C#中Left函数的替代方法是什么我有这个
Left(fac.GetCachedValue("Auto Print Clinical Warnings").ToLower + " ", 1) == "y");
我在MSDN上听说数组比集合快。
你能告诉我string[]
比List<string>.
更快吗
我遇到这样的情况,我需要像这样处理大量(许多GB)的数据:
每次迭代中的数据都是独立的。
我的问题是,我想最小化(如果可能的话)堆分配的内存使用,因为这是我目前最大的性能问题。
有没有一种方法可以将C字符串(char *)转换为stl C ++字符串(std :: string),而无需std :: string在内部分配/复制数据?
或者,我可以使用字符串流或类似的方法来重用大缓冲区吗?
编辑:感谢您的回答,为清楚起见,我认为修订后的问题将是:
我如何有效地构建(通过多个追加)stl C ++字符串。 而且如果在每个循环完全独立的循环中执行此操作,我该如何重用此分配的空间。
这个问题已经在这里有了答案:
我只是想知道如何限制C#中字符串的长度。
string foo = "1234567890";
说我们有。 如何将foo限制为5个字符?
我在Rails中有一串HTML。 我想在一定数量的字符(不包括HTML标记)之后截断字符串。 另外,如果拆分恰好落在开始和结束标签的中间,我想关闭开始的标签。 例如;
html = "123<a href='#'>456</a>7890"
truncate_markup(html, :length => 5) --> "123<a href='#'>45</a>"